日期:2014-05-16  浏览次数:20695 次

mysql创建触发器问题
我想在mysql上创建一个触发器,原代码如下
CREATE TRIGGER comment_afterdelete_on_mynew
before DELETE ON tb1_mynew
FOR EACH ROW
BEGIN
select * from tb1_mynew;
END
不知道为什么老是报第五行有语法错误,也就是我把select语句去掉就可以用了,但我单独测试过这个select语句是正确的
我该怎么解决。
我的mysql是linux上的,版本号是5.0.45

------解决方案--------------------
已经提示:
Not allowed to return a result set from a trigger

在TRIGGER中不能返回结果集,你要达到什么目的
------解决方案--------------------
你的代码?不能对本表进行操作
delimiter $$
CREATE TRIGGER comment_afterdelete_on_mynew
before DELETE ON tb1_mynew
FOR EACH ROW
BEGIN
sql 语句;
END;$$
delimiter ;

------解决方案--------------------
用3楼格式修改你的TRIGGER
------解决方案--------------------
探讨

实验过了,不行。语法错误,这次变成delimiter $$有语法错误了;

------解决方案--------------------
TRIIGER 中不可以有返回记录集的语句。 你的这个 select * from tb1_mynew; 会返回结果集。 希望通过这个语句实现什么功能? 不会是在DELETE的时候还需要显示一下 select * from tb1_mynew; 吧。