我的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'
感谢任何让触发器工作的帮助,谢谢!
答案 0 :(得分:1)
尝试使用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;