我正在尝试使用 2 个表在 MySQL 上创建触发器。我可以在另一个数据库中执行此操作,但在另一个数据库中调整的相同代码从几个小时开始就给我语法错误!
CREATE TRIGGER `free_video_used` AFTER UPDATE ON `user`
FOR EACH ROW
IF new.field = 1 THEN
UPDATE free_video SET free_video.used = 1 WHERE free_video.uid = NEW.uid;
END IF;
正如您很容易理解的那样,在对表“user”进行更新后,另一个表在字段“uid”相等的地方被修改。为什么它不起作用?! 谢谢!!
最佳答案
尝试:
DELIMITER $$
CREATE TRIGGER `free_video_used` AFTER UPDATE ON `user`
FOR EACH ROW
BEGIN
IF (new.field = 1) THEN
UPDATE free_video SET free_video.used = 1 WHERE free_video.uid = new.uid;
END IF;
END$$
DELIMITER ;
关于更新查询时 MySQL 触发语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18110815/