我有一个table_1
看起来像这样:
serial myBool dateTime
------ ------ --------
1 0 2016-05-03 10:23:45
2 1 2016-05-03 09:13:21
3 0 2016-05-03 08:44:33
MySQL计划的事件定期运行,并且如果dateTime足够旧,它将
myBool
设置为0。每次
myBool
设置为0时,我都希望向table_2
添加新行,如下所示:table_1_serial dateTime
-------------- --------
2 2016-05-03 09:13:21
我这样创建了一个触发器:
CREATE TRIGGER `myTrigger` AFTER UPDATE ON `table_1`
FOR EACH ROW
IF myBool = 0 THEN INSERT INTO `table_2` VALUES(`serial`, `dateTime`);
END IF
但是,现在当我修改
table_1
行时,会收到以下消息:Unknown column 'myBool' in 'field list'
感谢您对触发器的使用有所帮助,谢谢!
最佳答案
尝试使用new.
作为列参考:
CREATE TRIGGER `myTrigger` AFTER UPDATE ON `table_1`
FOR EACH ROW
IF new.myBool = 0 THEN
INSERT INTO `table_2`
VALUES(new.`serial`, new.`dateTime`);
END IF;