【发布时间】:2021-12-16 03:56:47
【问题描述】:
我坚持创建 SQL 触发器,当当前行的 Published 字段变为 true 时更新 publishingDate。我尝试了多种声明变体,但每次都出现语法错误。谷歌搜索没有给出当前案例的关键。希望,你能帮上忙。我的代码如下。我使用的验证器:https://ru.rakko.tools/tools/36/
delimiter !
CREATE TRIGGER `vc`.`Articles_Updated_trigger`
BEFORE UPDATE
ON `Articles` FOR EACH ROW
BEGIN
IF new.Published = TRUE
SET new.PublishingdDate = CURRENT_TIMESTAMP
END IF;
END !
【问题讨论】:
-
您使用的是哪个 dbms? (上面的代码是特定于产品的。)
-
如果我没记错的话,那就是 InnoDB
-
除了其他问题,你的底层逻辑似乎是错误的——目前你每次更新发布日期,当你更新记录并且它的发布值为真时。
-
是的,这是下一个问题。希望验证问题得到解决后我可以修复它