【发布时间】:2014-06-18 10:38:49
【问题描述】:
我的数据库中有一个表,其中的每一行都应存储有限的时间(1 分钟)。我正在尝试像这样执行 ON INSERT 触发器:
CREATE TRIGGER `temp_data_trig` AFTER INSERT ON `tokens`
FOR EACH ROW
BEGIN
DO SLEEP(60);
DELETE FROM `tokens` WHERE id = NEW.id;
END
但是当我尝试插入新行时,我得到了这个:
Can't update table 'tokens' in stored function/trigger because it is
already used by statement which invoked this stored function/trigger.
我的触发器出了什么问题,在有限的时间内存储每行数据的正确方法是什么?
【问题讨论】:
标签: mysql sql triggers sql-insert sql-delete