繁体   English   中英

MySQL从phpMyAdmin触发查询

[英]MySQL trigger query from phpMyAdmin

我从我的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

这里

如果要在触发器中使用SET NEW.col_name = value ,请注意在动作之后不能使用它,并且必须在动作之前使用它。

所以你应该尝试一下:

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'; 并触发工作!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM