Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro MySql:não é possível atualizar a tabela na função/gatilho armazenado


No momento em que você está tentando atualizar sua tabela você inicia um loop infinito no gatilho, os gatilhos não servem para atualizar suas próprias tabelas, você pode criar uma nova tabela onde você guarda o valor da sua chave primária da sua tabela e o valor de prioridade , para que você possa atualizar a prioridade nessa tabela. E na sua aplicação ou onde quer que vá usar, você pode juntar essas duas tabelas. Além disso, você pode considerar atualizar sua tabela com o seguinte sql no lado do aplicativo:
update your_table set state = 'NEW' and priority = priority - 1 where ....

Além disso, um novo procedimento armazenado pode ser escrito para corrigir sua execução automática de dados a cada 5/10 minutos (o que desejar).