crucifier 0 Denunciar post Postado Abril 20, 2007 tudo certo galera?seguinteno servidor que estou eles usam a versão 5.0.24a do mysql,na documentação do mysql diz q é a partir da versão 5.0.2 do mysql que funciona triggers.mas meu mysql retorna: #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 'DELIMITER | CREATE TRIGGER ordenac BEFORE DELETE ON materias FOR EACH ROW ' at line 1o código q to usando é esse:DELIMITER |CREATE TRIGGER ordenac BEFORE DELETE ON materias FOR EACH ROW BEGIN UPDATE materias SET ordem = ordem-1 WHERE ordem > OLD.ordem AND id_periodo = OLD.id_periodo; END;|DELIMITER;é erro de versão ou sintase? Compartilhar este post Link para o post Compartilhar em outros sites
cassitos 2 Denunciar post Postado Abril 20, 2007 Bom, a versão 5.0.24a certamente suporta. Está utilizando PhpMyAdmin? Tive problemas com ele também para criar Triggers, Procedures. Dai estou utilizando SQLYog (free). Mas a sintaxe, só falta um detalhe que é um espaço entre o DELIMITER e o ; no final. DELIMITER | CREATE TRIGGER ordenac BEFORE DELETE ON materias FOR EACH ROW BEGIN UPDATE materias SET ordem = ordem-1 WHERE ordem > OLD.ordem AND id_periodo = OLD.id_periodo; END; | DELIMITER ; Daí executou aqui trankilo, criei uma tabela com os campos utilizados e está lá. Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Abril 21, 2007 Pelo phpMyAdmin, use apenas: CREATE TRIGGER ordenac BEFORE DELETE ON materiasFOR EACH ROW UPDATE materias SET ordem = ordem-1 WHERE ordem > OLD.ordem AND id_periodo = OLD.id_periodo; Compartilhar este post Link para o post Compartilhar em outros sites