Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

crucifier

trigger

Recommended Posts

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.