基本上,我只是不想DELETE FROM X
删除所有行。
例如:
DELETE FROM X WHERE ID = 3 OR ID = 4;
->允许,因为不尝试删除所有表。
DELETE FROM X;
->不允许,因为它将删除所有表。
我该如何使用触发器?
答案 0 :(得分:2)
如果没有delete
子句,您实际上可能不需要触发器来阻止where
。
您可以通过设置以下内容来完成自己想做的事情:
SET SQL_SAFE_UPDATES = 1;
此文档为here。
注意:这当然适用于所有表。如果您只想在一个表上使用此限制,则可以使用触发器。