【发布时间】:2014-07-19 16:12:36
【问题描述】:
当数据插入同一个表时,我使用触发器来更新表!但是当我在该表中插入数据时出现错误
ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG: Can't update table
这是什么意思?
触发代码:
create trigger update_owners_leaving_time
AFTER INSERT ON cc_owners_queries
FOR EACH ROW BEGIN
update cc_owners_queries set leaving_time = query_time + INTERVAL leaving_in MINUTE , trigger_updated = 1 where trigger_updated !=1;
END
错误:
错误:ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG:无法更新存储函数/触发器中的表“cc_owners_queries”,因为它已被调用此存储函数/触发器的语句使用。
【问题讨论】:
-
可能是因为更新,触发了那个触发器,会导致死循环?
-
@Niels 我没听懂你!
-
触发器会导致更新。哪个会触发,哪个会更新,哪个会触发,等等。
-
@vipulsodha 你能分享一下你的触发器代码吗?
-
@Mureinik 是的,我做到了!
标签: mysql sql mysql-error-1064