MySQL 触发器不工作。可能是什么问题?

标签 mysql sql stored-procedures triggers

我需要在插入另一个表后更新现有表。这就是我所拥有的。

DELIMITER $$
CREATE TRIGGER `some_trigger`
AFTER INSERT ON `old_table`
FOR EACH ROW BEGIN
UPDATE `new_table` set `some_column` = new.`column`
WHERE `new_table`.id = new.id
END $$
DELIMITER;

触发器定义成功执行并且触发器存在于 SQL_MODE - NO_ENGINE_SUBSTITUTION 定义器 - root@%

这有什么严重的错误吗?

最佳答案

您能否确认 new.id(即在 old_table 插入时生成的 id)也存在于新表中? 因为可能的原因可能是新表 new.id 在插入 old_table 时不存在。

关于MySQL 触发器不工作。可能是什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31268660/

相关文章:

mysql - 选择大小写不工作 #1064

.net - 即使事务回滚,SQL 标识(自动编号)也会增加

sql - Elasticsearch 分组并获取第一条记录

sql - 如何在postgresql/sql中查询对数组字段的订阅

mysql - 使用 Laravel 语法的 Sql leftJoin 查询显示错误

经常更新的mysql索引时间戳列

mysql - 如何授予用户访问mysql上所有存储过程的权限?

c# - 有没有办法在没有 Entity Framework 的情况下从 C# 中的 SQL Server 映射存储过程?

php - MySQL:选择列等于ID的行

sql - 如何更改具有 FOREIGN KEY 约束的列的大小?