我正在尝试将触发器设置为 sql,以使用来自表 c_p_r 中的字段“title”的值来更新 gf 的值,但出现语法错误。有人可以指出我错在哪里吗?
CREATE TRIGGER setgf
AFTER UPDATE ON c_p_r
FOR EACH ROW BEGIN
TRUNCATE gf
UPDATE gf
SET gf = title
FROM c_p_r
这东西用
回答我#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UPDATE gf
SET gf = title
FROM c_p_r' at line 5
谁能指出我哪里错了?
最佳答案
您的 UPDATE
sql 查询格式不正确。此外,如果您尝试在更新期间将一个字段值复制到另一个字段。您应该使用 BEFORE UPDATE 处理程序。我会像下面这样写查询:
CREATE TRIGGER setgf
BEFORE UPDATE ON c_p_r
FOR EACH ROW BEGIN
SET NEW.gf = COALESCE(NEW.gf, NEW.title); //this will take care of not overriding the gf if it was part of update statement
END
关于mysql - sql触发器从另一个字段设置字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51118121/