gpt4 book ai didi

mySQL 限制级联无操作设置

转载 作者:行者123 更新时间:2023-11-29 14:31:03 25 4
gpt4 key购买 nike

在用户发表评论的论坛表格上使用的最佳约束是什么?

假设稍后会删除一些用户。如果我删除发表评论的用户,表中的用户条目会发生什么?

希望有人能解释一下。

最佳答案

这个问题分为两个部分:

  1. 如何最好地实现这一点?您可以“软删除”用户行。这样做的优点是:

    • 不丢失用户信息
    • 允许取消删除用户
    • 保持引用完整性而不丢失与用户关联的数据

    可以通过向用户表添加另一列来实现软删除,其中包含一个 dateDeleted 列 - 如果该列为 Null,则不会删除该用户。我相信SO使用了这样的机制来删除帖子。

  2. 限制级联无操作有什么作用? MySQL docs

  • RESTRICT: Rejects the delete or update operation for the parent table. Specifying RESTRICT (or NO ACTION) is the same as omitting the ON DELETE or ON UPDATE clause.

  • NO ACTION: A keyword from standard SQL. In MySQL, equivalent to RESTRICT. InnoDB rejects the delete or update operation for the parent table if there is a related foreign key value in the referenced table. Some database systems have deferred checks, and NO ACTION is a deferred check. In MySQL, foreign key constraints are checked immediately, so NO ACTION is the same as RESTRICT.

换句话说,如果您使用此功能,您将无法删除行(如果这样做会破坏引用完整性)。

关于mySQL 限制级联无操作设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10032089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com