gpt4 book ai didi

mysql - Pb 插入 SQL 之前触发

转载 作者:行者123 更新时间:2023-11-29 16:28:57 24 4
gpt4 key购买 nike

我正在尝试在将列添加到我的表之前检查该列中的插入内容。如果插入为空,我想根据同一个表的另一列分配一个值。

我的源表是“文章”,它包含以下列:id、titre、resume、contenu。如果“resume”为 null,我需要选择“contenu”列中的前 150 个字符来设置“resume”列。

DELIMITER |
CREATE TRIGGER before_insert_article BEFORE INSERT
ON article FOR EACH ROW

BEGIN
IF NEW.resume IS NULL
THEN
SET NEW.resume = (SELECT LEFT (NEW.contenu, 150) FROM article WHERE NEW.id = article.id) ;
END IF ;
END |

DELIMITER ;

所以...当然,这是行不通的。我想我明白为什么,但就像我对 SQL 很陌生一样,我只是不知道如何解决我的问题。有小费吗?

最佳答案

如果您想访问插入的行的列,则不需要 SELECT,您可以使用 new 伪行。尝试更改分配:

...
SET NEW.resume = left(NEW.contenu, 150);
...

关于mysql - Pb 插入 SQL 之前触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54063065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com