是的,您可以依赖 CASCADE 删除。如果定义与ON DELETE CASCADE 的关系,肯定会删除外行。绝对推荐使用 ON DELETE CASCADE(假设您要删除相关行),并且它可能比在应用程序中实现删除级联更可靠。
在您给出的示例中,包含用户帖子的行与使用带有 ON DELETE CASCADE 的外键的用户相关。在这种情况下,您只需删除用户即可。MySQL 将跟踪所有关系并删除所有相关行。这将防止孤立数据。就孤立数据的可能性而言,通过应用程序执行此操作更具“风险”。
但是请记住,如果同一数据存在其他关系(例如,存在与将被删除的用户帖子相关的回复帖子),则可以阻止删除,因为回复行中的引用将悬空. 当然,这完全取决于您的数据库设计以及您如何设置外键。
| 归档时间: |
|
| 查看次数: |
725 次 |
| 最近记录: |