检查MySQL中是否可以删除行

Svi*_*ish 9 mysql foreign-keys delete-row

有没有办法可以检查是否有可能删除行?例如,它目前没有通过受限制的外键连接到其他任何东西.

原因:我正在制作一个管理页面,其中列出了系统中的所有用户.它们始终可以被禁用,但也可以删除它们.但是,如果它们没有连接到任何关键的东西,它们只能被删除.如果可以在数据库中轻松完成,我想不必手动检查.

注意:我不想删除任何用户.我只是想显示给用户的管理员可以删除.

Gra*_*erB 4

您可以尝试将其作为事务的一部分删除,如果成功则回滚事务。但是,我想接下来的问题是,为什么你一开始就不知道是否可以删除该行?

  • 因为它可能通过外键附加了各种限制,并且我不想手动检查所有这些限制,因为如果我稍后添加或删除表,它们可能会发生更改。 (3认同)
  • 您认为数据完整性和检查就是外键限制的目的吗? (3认同)