我想在我的一个表中发生插入时转换字段。
检查和 ged 的 => 检查和 geds。
DELIMITER $$
CREATE
TRIGGER `perma_limk_insertion` AFTER INSERT
ON `tbl_magazine`
FOR EACH ROW BEGIN
DECLARE magazine_name VARCHAR(100);
@magazine_name := REPLACE(FieldName,'&','and');
@magazine_name := REPLACE(FieldName,"'",'');
UPDATE tbl_magazine SET perma_link = magazine_name WHERE MAGAZINE_ID = NEW.MAGAZINE_ID;
END$$
DELIMITER ;
这是我的触发器。但我收到一个错误
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@magazine_name := REPLACE(FieldName,'&','and'); @magazine_name := REPLA' at line 7
如果有人知道这件事。请帮助我
提前致谢
最佳答案
您需要将变量 FieldName
更改为要对其运行函数 REPLACE 的列的名称(在本例中为列名称 perma_link
)。
您的代码将是:
...
@magazine_name := REPLACE(perma_link,'&','and');
@magazine_name := REPLACE(perma_link,"'",'');
UPDATE tbl_magazine SET perma_link = magazine_name WHERE MAGAZINE_ID = NEW.MAGAZINE_ID;
...
关于mysql触发器显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18465319/