【问题标题】:MySql on delete cascade concept?MySql 关于删除级联概念?
【发布时间】:2013-02-08 01:54:28
【问题描述】:

我试图弄清楚级联删除的工作原理。我知道一般概念,但不知道具体内容。

我有 3 张桌子 (a)||---|o---||(C)

表 A:

Aid
Tag

表 B:

Aid (f)
Cid (F)

表 C:

Cid
Other
  • 表 A 中的一行必须至少有一个对表 c 的引用,否则应将其删除。
  • 仅当表 C 尝试创建不存在的标记时,才会在表 A 中创建一行。如果表 C 删除了该标记,并且表 C 中没有其他行引用该标记,则应删除该标记。如果表 C 中的另一行引用了该标签,则不应删除该标签。

如果我设置表 B [Aid] 删除级联会不会:

  1. 如果删除表 A 中的标记,则会自动删除表 B 中的所有链接
  2. 我从属于 tagz 的表 B 中删除了一行。表 B 中有另一行引用 tagz。删除是否会导致 tagz 也被删除,或者只要任何行引用它,tagz 就会保留?

【问题讨论】:

    标签: mysql cascade


    【解决方案1】:

    如果您已将表 B 设置为删除表 A 的外键上的级联,那么如果删除了一个标记 get ,则表 B 中的相应记录将被删除。表 B 的删除不会影响表 A,因为表 A 没有对表 B 的任何引用或外键。

    【讨论】:

    • 谢谢!正是我需要知道的
    猜你喜欢
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多