2013-02-08 195 views
1

我想弄清楚级联删除是如何工作的。我知道一般概念,但不了解它的具体情况。MySql删除级联概念?

我有3个表格(a)|| --- | <(B)> 0 --- ||(C)

表A:

Aid 
Tag 

表B:

Aid (f) 
Cid (F) 

表C:

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

如果我设置表B [援助]删除级联会是:

  1. 如果从表A中的标签被自动删除删除表B中的任何链接
  2. 我删除表中的一行B属于tagz。表B中还有一行引用了tagz。这种删除是否会导致tagz被删除,或者只要任何一行引用它,tagz就会一直保留下来?

回答

5

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

+0

谢谢!正是我需要知道的 – Rujikin