Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 1
o 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?
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;
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
|
DELIMITER ;
Daí executou aqui trankilo, criei uma tabela com os campos utilizados e está lá.