尝试创建触发器时遇到问题。我有table_1和table_2,table_1上的update事件应该更新使用where子句标识的table_2中的一行:
CREATE DEFINER=`root`@`localhost` TRIGGER `update_table_2` AFTER UPDATE ON `table_1` FOR EACH ROW BEGIN
IF table_1.key=0 THEN
UPDATE table_2 SET table_2.value='10' WHERE table_2.key='2';
END IF;
END
我的问题是什么?! 感谢
答案 0 :(得分:1)
在触发器中,您应该使用old
和new
关键字来引用已更新的记录(分别是旧值和新值)。
在你的情况下,你应该这样做:
IF new.key=0 THEN
UPDATE table_2 SET table_2.value='10' WHERE table_2.key='2';
END IF;