【问题标题】:MySQL trigger query from phpMyAdmin来自 phpMyAdmin 的 MySQL 触发器查询
【发布时间】:2011-11-16 21:17:36
【问题描述】:

我正在从我的 PhpMyadmin sql 选项卡运行以下查询

CREATE TRIGGER testTrigger 
AFTER INSERT ON tbl_table1 
FOR EACH ROW 
BEGIN 
INSERT INTO tbl_table2 (id,name) values (NEW.id,NEW.name); 
END

但每次我收到此错误消息时:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的 '' 附近使用正确的语法

我使用 MySQL 客户端版本:5.1.37,PHPMyadmim 版本信息:3.2.2.1deb1

【问题讨论】:

    标签: php mysql sql phpmyadmin


    【解决方案1】:

    here:

    如果您想在触发器中使用SET NEW.col_name = value,请 请注意,您不能将其与 AFTER 操作一起使用,并且必须使用 行动之前。

    所以也许你应该试试:

    CREATE TRIGGER testTrigger 
    BEFORE INSERT ON tbl_table1 
    FOR EACH ROW 
    BEGIN 
        INSERT INTO tbl_table2 (id,name) values (NEW.id,NEW.name); 
    END
    

    已编辑:我试过了,它在 MySQL 中运行

    DROP TRIGGER IF EXISTS testTrigger;
    CREATE TRIGGER testTrigger 
    BEFORE INSERT ON tbl_table1 
    FOR EACH ROW 
    BEGIN 
      INSERT INTO tbl_table2 VALUES (NEW.id,NEW.name);
    END;
    

    然后尝试INSERT INTO test1 SELECT 5,'pois'; 并触发工作!

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 2013-11-26
      • 2013-05-20
      • 2014-12-25
      • 2015-10-16
      • 2011-07-10
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多