對於一個項目中的測試用例,如果其中一個字段滿足其中一個條件,我必須刪除記錄。最簡單的 似乎是簡單的觸發器: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.
否則怎麼能夠只通過訪問數據庫來完成?我的意思是我不應該改變測試的應用程序。