Baia Posted September 3, 2013 at 09:06 PM Report #523378 Posted September 3, 2013 at 09:06 PM (edited) quando o penúltimo registo da tabela for eliminado fazer um update ao registo que ainda resta. criei este código mas nao funciona, precisava de ajuda. a ideia é correr este código num triguer (after delete) SET @num_linhas = SELECT COUNT(*) FROM `idiomas`; if(@num_linhas=1) { UPDATE `idiomas` SET `online`=1 WHERE id=(SELECT id FROM `idiomas`) } Edited September 3, 2013 at 09:06 PM by Baia
brunoais Posted September 5, 2013 at 07:13 PM Report #523552 Posted September 5, 2013 at 07:13 PM Qual o erro? O que é que ele devia de fazer e não faz? Já ouviste falar no "SELECT INTO"? "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
Baia Posted September 5, 2013 at 07:22 PM Author Report #523555 Posted September 5, 2013 at 07:22 PM o que deveria acontecer, era que quando a tabela ficasse apenas com um registo, forçar uma coluna a ter um determinado valor
brunoais Posted September 7, 2013 at 05:23 PM Report #523784 Posted September 7, 2013 at 05:23 PM Triggers? "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
Baia Posted September 7, 2013 at 08:19 PM Author Report #523795 Posted September 7, 2013 at 08:19 PM Triggers? Sim, mas com aquele código dá um erro de sintaxe
brunoais Posted September 8, 2013 at 10:33 AM Report #523813 Posted September 8, 2013 at 10:33 AM Os erros de sintaxe são os triviais de corrigir. Os que dão problemas são os bugs. Já agora: Indicar que deu erro é muito giro para quem sabe o erro, para os outros não é informação. Sem informação não dá para te ajudarmos. "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
Baia Posted September 8, 2013 at 02:51 PM Author Report #523832 Posted September 8, 2013 at 02:51 PM Vamos partir do principio. Quando o penúltimo registo da tabela for eliminado quero que se faça um update ao único registo que ainda resta na tabela. como mysql nao é o meu forte tentei colocar este código num Trigger(after delete) a ver se faz alguma coisa SET @num_linhas = SELECT COUNT(*) FROM `idiomas`; if(@num_linhas=1) { UPDATE `idiomas` SET `online`=1 WHERE id=(SELECT id FROM `idiomas`) } mas logo quando tento guardar o trigguer dá erro de sintaxe, se eu soubesse qual é o erro eu ia tentar procurar solução, mas também nao sei qual é Mensagens do MySQL : #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT COUNT(*) FROM 'idiomas'; if(@num_linhas=1) { UPDATE 'idiomas' SET 'on' at line 1 1º- O código que eu escrevi está correto?
brunoais Posted September 11, 2013 at 09:23 AM Report #524070 Posted September 11, 2013 at 09:23 AM DECLARE num_linhas INT; SELECT COUNT(*) INTO num_linhas FROM `idiomas; if num_linhas=1 THEN UPDATE `idiomas` SET `online`=1 WHERE id=(SELECT id FROM `idiomas`) Ainda tem erros mas já te dei um avanço. "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now