【问题标题】:what is the default on delete and on update [duplicate]删除和更新的默认值是什么[重复]
【发布时间】:2011-07-06 19:49:30
【问题描述】:

可能重复:
What is MySQL's default ON DELETE behavior?

大家好,如果您没有指定它们在 MYSQL 数据库上的含义,您只想知道外键上的 on delete 和 on update 设置为什么。我一直在寻找,并不能真正找到答案。就像我只是创建一个外键一样,它们也设置了什么。谢谢。

【问题讨论】:

  • What is MySQL's default ON DELETE behavior? 的可能副本(通过 a.stgeorge)
  • @BoltClock 我遇到了这个问题,但我无法回答“删除和更新的默认设置是什么?”这个问题。我从这里得到了答案。我觉得这个问题唯一比原来的问题对用户有用。如果版主不断关闭此类问题,普通的计算机程序员会认为 SO 仅适用于出色的程序员。

标签: mysql sql


【解决方案1】:

【讨论】:

    【解决方案2】:

    如 MySQL 文档中所述:

    If ON DELETE or ON UPDATE are not specified, the default action is RESTRICT. 
    

    http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html

    【讨论】:

      【解决方案3】:

      如果父行会孤立一个或多个子行,默认是禁止对父行进行任何更新或删除。

      在这种情况下,错误如下所示:

      ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails
      

      【讨论】:

        猜你喜欢
        • 2019-05-10
        • 2012-08-23
        • 1970-01-01
        • 1970-01-01
        • 2021-10-16
        • 1970-01-01
        • 1970-01-01
        • 2018-06-22
        • 1970-01-01
        相关资源
        最近更新 更多