表中有一个字段为LEVEL,类型为INT,我写了个UPDATE 触发器,如果这个LEVEL字段被修改成0了,然后删除该记录,为什么一直报ERROR:1442,Can’t update table ‘t1′ in stored function/trigger because it is already used by statement which invoked this stored function/trigger.这个错误,求帮助。。
触发器是这么写的
IF NEW.LEVEL = 0 THEN 
DELETE FROM TB WHERE ID = NEW.ID;
END IF;

解决方案 »

  1.   

    是TB表的TRIGGER?
    在MYSQL TRIGGER中,不能对本表进行操作
      

  2.   

    没有的。这张表就一个UPDATE和一个INSERT的触发器。我就想在修改一条记录的时候。。如果这张表的LEVEL字段变成0就删除该记录。我觉得这个可能是MYSQL的一个BUG。。我不知道怎么去实现我想要的功能。
      

  3.   

    没有办法,MYSQL限制,不用TRIGGER,在事件 OR 系统任务中定时删除记录