原因是在对某表操作时同时触发对该表插入,这种操作在mysql数据库是不允许的
创新互联专注于龙圩网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供龙圩营销型网站建设,龙圩网站制作、龙圩网页设计、龙圩网站官网定制、微信小程序开发服务,打造龙圩网络公司原创品牌,更为您提供龙圩网站排名全网营销落地服务。
不可以把触发条件和触发动作作用于同一个表
at line 5,
目测是 SET NEW.STATE=2; 这一行.
但是这一行又没有任何语法错误.
你是不是在 mysql.exe 下面运行的呀。
如果是的话, 可能是需要加一个 定义 DELIMITER //
意思是告诉 mysql , 遇到 // 符号以后, 才认为语句结束了。
否则 mysql 遇到 分号, 就认为语句结束了, 结果触发器代码还没完.
mysql DELIMITER //
mysql CREATE TRIGGER BeforeInsertTest
- BEFORE INSERT ON test_trigger_table
- FOR EACH ROW
- BEGIN
- SET new.val = '100';
- END;
- //
Query OK, 0 rows affected (0.02 sec)
mysql DELIMITER ;
没有end;
一般存储过程和触发器之类还得配合 delimiter使用 你先研究下