我想在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

解决方案 »

  1.   

    已经提示:
    Not allowed to return a result set from a trigger在TRIGGER中不能返回结果集,你要达到什么目的
      

  2.   

    我其实是想在触发器里做一个删除语句,但无论我在触发器里写什么sql语句都会报语法错误。我已经在外部验证过这些语句都是正确的。我改过里面的语句,改成delete也是不对的。
      

  3.   

    你的代码?不能对本表进行操作
    delimiter $$
    CREATE TRIGGER comment_afterdelete_on_mynew
    before DELETE ON tb1_mynew
    FOR EACH ROW
    BEGIN
    sql 语句;
    END;$$
    delimiter ;
      

  4.   

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

  5.   

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