【发布时间】:2019-07-31 07:41:38
【问题描述】:
我正在编写以下代码,在向“ecoute”表插入后,该代码应该从“song”表中增加 1 个“likecount”。 在这样做之前,触发器会检查来自新插入的布尔值“喜欢”是否为“真”。如果是这样,那么更新继续。否则,什么都不会发生。
CREATE TRIGGER likked AFTER INSERT ON ecoute
FOR EACH ROW
WHEN (NEW.likked)
BEGIN
UPDATE songs
SET songs.likecount = songs.likecount +1
WHERE songs.id = NEW.songid
END
MySQL 回答:
#1064 - Syntax error near 'WHEN (NEW.likked)
BEGIN
UPDATE songs
SET songs.likecount = songs.like' at line 3
注意事项: 到目前为止,我一直在尝试创建不同的 JOIN,因为我认为问题是我在更新 SONGS 表时调用了 NEW 表,但 MySQL 的答案保持不变。
【问题讨论】:
-
我根本不知道
when是 MySQL 中创建触发器语法的一部分。 -
那我可能错了。我承认我是一个完全的编码初学者。我应该改用什么?