对于一个项目中的测试用例,如果其中一个字段满足其中一个条件,我必须删除记录。最简单的 似乎是简单的触发器:MySQL触发器 - 更新后删除
delimiter $$
drop trigger w_leb_go $$
create trigger w_leb_go after update on test
for each row
begin
set @stat=NEW.res;
set @id=NEW.id;
IF @stat=3 THEN
delete from test where [email protected];
END IF;
end$$
delimiter ;
但正如我怀疑遇到错误:
update test set res=3 where id=1;
ERROR 1442 (HY000): Can't update table 'test' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
否则怎么能够只通过访问数据库来完成?我的意思是我不应该改变测试的应用程序。