我正在尝试检查列中的插入,然后再将其添加到表中。如果插入为空,我想基于同一表的另一列赋值。
我的源表是'article',它包含以下列:id,titre,resume,contenu。如果“resume”为空,我需要选择“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非常陌生,我就是不知道如何解决我的问题。有什么建议吗?
1条答案
按热度按时间kknvjkwl1#
如果要访问插入行的列,则不需要
SELECT
,您可以使用new
伪行。尝试更改分配: