Mysql 创建将按间隔更新列的触发器
抱歉,如果这是一个noob问题,因为我现在是一个noob问题,但是Mysql 创建将按间隔更新列的触发器,mysql,sql,datetime,triggers,sql-insert,Mysql,Sql,Datetime,Triggers,Sql Insert,抱歉,如果这是一个noob问题,因为我现在是一个noob问题,但是 我似乎在mysql触发器上有问题。我正在尝试创建一个触发器,该触发器将在插入后以5分钟的间隔自动更新数据dateValid DROP TRIGGERIF EXISTS `restrictionotp`;TRIGGER `add_interval` beforeINSERT on `date` FOR each row UPDATE date SET datevalid=date_add(new.datecreated
我似乎在
mysql触发器上有问题。我正在尝试创建一个触发器,该触发器将在插入后以5分钟的间隔自动更新数据dateValid
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
上面的代码已成功创建,但一旦我尝试在所述表中插入数据,就会出现此错误
Can't update table 'verification' in stored function/trigger because
it is already used by statement which invoked this stored function/trigger
感谢您回答我的问题,只需设置触发器中的新值。然后,数据库将插入修改后的值,而不是原始值
DELIMITER //
CREATE TRIGGER Add_Interval
BEFORE INSERT ON verification
FOR EACH ROW
BEGIN
SET new.datevalid = new.datecreated + INTERVAL 5 MINUTE;
END;
//
DELIMITER ;
谢谢,终于成功了。看起来我需要再次彻底研究SQL。