SQL删除外键

时间:2013-07-07 05:41:37

标签: php sql sql-delete

    +--------+--------+
    |A_id    |A_desc  |
    +--------+--------+

    table B:
    +--------+--------+
    |B_id    |B_desc  |
    +--------+--------+

    table c:
    +--------+--------+
    |A_id    |B_id    |
    +--------+--------+

我想通过获取“B_id”的值来删除c表中的1行和b表中的1行而不删除表a,任何人都可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

你只能用触发器/扭动其他一些代码为你做这件事。

请注意,即使您使用触发器/代码,也可能会出现异常,因为C中的其他记录可以指向表B.

你能做的就是运行:

delete from B where B_id not in (select B_id from C)

运行删除