Como posso diagnosticar passos em um gatilho de MySQL
-
18-09-2019 - |
Pergunta
Eu tenho duas tabelas:
- source tabela
- Resultado tabela
Eu tenho um após gatilho update no meu source mesa que atualiza alguns registros em Resultado mesa. o problema é que o gatilho não está atualizando Resultado mesa e eu gostaria de diagnosticar minha execução gatilho.
Eu tentei colocar declarações select
para ver os valores das variáveis, mas seleciona não são permitidos em um disparador. Eu gostaria de usar algo semelhante ao PRINT
no Microsoft SQL Management Studio que a saída de alguns valores em GUI, mas este comando não parece existir na ferramenta MySQL ou sapo que eu estou usando.
Como que eu vou para diagnosticar meu gatilho, então? Como você faz isso?
Solução
Use uma tabela log.
CREATE TABLE log (t datetime, comment varchar(255));
Em seu disparador você pode inserir o log.
INSERT INTO log
SELECT now(), concat('debug comment ', @your_variable);