mysql触发器显示错误

标签 mysql triggers

我想在我的一个表中发生插入时转换字段。

检查和 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/

相关文章:

sql - MySQL中的触发器被调用了多少次?

mysql触发器对列ID等于最后插入的行ID和存储的列求和

php - 多个查询的结果求和

mysql - SQL:选择在另一个表中不具有值的 ID/值组合

MySQL触发: after an update on table1,从table2中删除行?

mysql - 在 MySQL 中如何设置属性的限制

mysql - 选择时增加列

php - 国际字符排序规则(西类牙语),php

mysql - 如何对不起作用的三个表的外连接进行排序?

php - 使 PHP/MySQL 时间戳看起来更有吸引力