【发布时间】:2015-07-07 12:33:14
【问题描述】:
插入另一个表后,我需要更新现有表。这就是我所拥有的。
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@%
这有什么可怕的问题吗?
【问题讨论】:
-
是否有任何错误或只是没有更新行?
-
@AmanAggarwal - 没有错误!只是不更新行。
-
哪个表退出条目??
-
检查 new_table 中是否存在 new.id
-
@AmanAggarwal - 是的,它存在于 new_table 中。这就是整个问题的原因!
标签: mysql sql stored-procedures triggers