通过触发器停止对MySQL的删除

时间:2009-10-30 13:19:22

标签: sql mysql triggers

我正在尝试拦截针对特定表的任何DELETE命令。 MySQL支持触发器,但它似乎不支持像SQL Server和其他数据库那样引发错误的方法。

我可以只用一个空的触发器定义吗?类似的东西:

create trigger trListsDelete on lists
instead of delete
as
begin
  /* Do nothing */
end

在SQL Server中,我可以添加RAISEERROR('You cannot delete lists.')语句来强制它失败,这样我就知道删除不会被执行。由于MySQL不支持引发错误,我如何简单地忽略删除命令?

1 个答案:

答案 0 :(得分:3)

该技术是您执行会导致错误的操作,例如更新不存在的列。

详细信息:MySQL Triggers: How do you abort an INSERT, UPDATE or DELETE with a trigger?