O erro apresentado pelo MySQL era:
ERROR 1363: There is no OLD row in on INSERT trigger
O trigger em questão "deveria" inserir na tabela de log os registros antigos (old) depois (after) da inserção (insert). Como mencionei, o trigger compilou sem problemas, só que ao momento em que um registro era inserido na tabela, o erro acima era apresentado.
O motivo do erro?
No insert não temos um valor antigo, somente o novo valor que será registrado, desta forma o banco de dados nos alerta através do erro 1363 que, não é possível se ter um valor antigo para um novo registro.
De forma semelhante, também podemos ter o erro:
ERROR 1363: There is no NEW row in on DELETE trigger
Neste formato, temos um trigger tentando inserir um registro novo após um delete, algo que não existe, afinal, o novo registro "sumiu".
A solução?
Para resolver o problema no caso do insert, troque o after por before, e o old, por new.
Já para o delete, use o before e, troque o new pelo old.
Se ainda ficou na dúvida, quer agradecer (me dar $$), poste seu comentário, terei o maior prazer em responder.
Ótimo Abreu, valeu!
ResponderExcluirParceria é pra isso Hoff, precisando...
ResponderExcluirExecelente Post! Parabéns!
ResponderExcluirOlá Wesley, fico feliz por ter ajudado. Abraços.
Excluir