创建一个触发器,该触发器将以一定间隔更新列
Creating a trigger that will update a column with an interval
对不起,如果这是一个菜鸟问题,因为我现在就是一个,但是
我似乎在 mysql trigger
上遇到了问题。我正在尝试创建一个触发器,它将在插入后自动更新数据 dateValid,间隔为 5 分钟,从 dateCreated 的 数据开始。
DROP TRIGGERIF EXISTS `restrictionotp`;TRIGGER `add_interval` beforeINSERT
on `date` FOR each row
UPDATE date
SET datevalid=date_add(new.datecreated, interval 5 minute)
WHERE dateid=new.dateid
上面的代码已成功创建,但是一旦我尝试在上述 table 上插入数据,就会出现此错误
Can't update table 'verification' in stored function/trigger because
it is already used by statement which invoked this stored function/trigger
感谢您回答我的问题
只是 set
触发器中的 new
值。然后数据库将插入修改后的值而不是原始值。
DELIMITER //
CREATE TRIGGER Add_Interval
BEFORE INSERT ON verification
FOR EACH ROW
BEGIN
SET new.datevalid = new.datecreated + INTERVAL 5 MINUTE;
END;
//
DELIMITER ;
对不起,如果这是一个菜鸟问题,因为我现在就是一个,但是
我似乎在 mysql trigger
上遇到了问题。我正在尝试创建一个触发器,它将在插入后自动更新数据 dateValid,间隔为 5 分钟,从 dateCreated 的 数据开始。
DROP TRIGGERIF EXISTS `restrictionotp`;TRIGGER `add_interval` beforeINSERT
on `date` FOR each row
UPDATE date
SET datevalid=date_add(new.datecreated, interval 5 minute)
WHERE dateid=new.dateid
上面的代码已成功创建,但是一旦我尝试在上述 table 上插入数据,就会出现此错误
Can't update table 'verification' in stored function/trigger because
it is already used by statement which invoked this stored function/trigger
感谢您回答我的问题
只是 set
触发器中的 new
值。然后数据库将插入修改后的值而不是原始值。
DELIMITER //
CREATE TRIGGER Add_Interval
BEFORE INSERT ON verification
FOR EACH ROW
BEGIN
SET new.datevalid = new.datecreated + INTERVAL 5 MINUTE;
END;
//
DELIMITER ;