Mysql 如何在before delete触发器中拒绝delete语句?

Mysql 如何在before delete触发器中拒绝delete语句?,mysql,sql,triggers,sql-delete,Mysql,Sql,Triggers,Sql Delete,如何在delete触发器之前拒绝中的delete语句(mysql) 示例用例:我有一条具有指定id的记录,我希望它不会被删除。看这里,同样的事情,但有一个插入触发器:看这里,同样的事情,但有一个插入触发器:您可以创建一个表,该表使用一个引用id列的外键构造(前提是该表的主键)。在引用ID=0的“子”表中插入一行,并从该表中删除用户的所有更新/删除权限 现在,如果有人试图删除“父”表中ID=0的行,由于另一个表中存在子行,该行将失败。您可以创建一个表,该表使用引用您的ID列的外键构造(前提是该列是

如何在delete触发器之前拒绝中的delete语句(mysql)


示例用例:我有一条具有指定id的记录,我希望它不会被删除。

看这里,同样的事情,但有一个插入触发器:

看这里,同样的事情,但有一个插入触发器:

您可以创建一个表,该表使用一个引用id列的外键构造(前提是该表的主键)。在引用ID=0的“子”表中插入一行,并从该表中删除用户的所有更新/删除权限


现在,如果有人试图删除“父”表中ID=0的行,由于另一个表中存在子行,该行将失败。

您可以创建一个表,该表使用引用您的ID列的外键构造(前提是该列是表的主键)。将行插入到该“子”中引用ID=0的表,并从该表中删除用户的所有更新/删除权限


现在,如果有人试图删除“父”表中ID=0的行,由于另一个表中存在子行,该行将失败。

这意味着什么?请提供一个用例。@Nishant:我添加了示例用例。这意味着什么?请提供一个用例。@Nishant:我添加了示例用例。这是一个非常糟糕的主意(至少对我来说,因为我们的数据库中有130多张表)@Behrouz:这是否意味着你需要这种“保护”对于每个表?听起来像是一个非常奇怪的设置..不是每个表,但我有很多表之间的关系,这种解决方案使它更复杂。我写了一个ORM,它生成SOAP web服务,添加了一个额外的无用列,使web服务难看并且容易出错您不添加额外的列(因为列id已经存在)您添加了一个额外的表,ORM完全可以忽略它,因为它只用于防止删除。这是一个非常糟糕的主意(至少对我来说,因为我们的db中有130多个表)@Behrouz:这意味着您需要这种“保护”吗对于每个表?听起来像是一个非常奇怪的设置..不是每个表,但我有很多表之间的关系,这种解决方案使它更复杂。我写了一个ORM,它生成SOAP web服务,添加了一个额外的无用列,使web服务难看并且容易出错您不添加额外的列(因为列id已经存在)您添加了一个额外的表,ORM完全可以忽略它,因为它只用于防止删除。