有没有办法避免删除删除另一个表上的外键记录

时间:2015-08-08 09:10:44

标签: sql sql-server

有没有办法避免删除删除另一个表中的外键记录?

1 个答案:

答案 0 :(得分:0)

包含外键的表称为引用或子表,包含候选键的表称为引用表或父表。

根据您的需要使用以下外键选项(On Delete和On Update):

设置NULL :删除父表行时将列值设置为NULL。

CASCADE :当父级更改时,CASCADE将传播更改。如果删除行,则引用该行的约束表中的行也将被删除,等等。

RESTRICT :如果存在引用该父行值的子行,则RESTRICT会导致您无法删除给定的父行。

没有行动:没有行动和限制是非常相似的。当在引用的表上执行UPDATE或DELETE语句时,DBMS在语句执行结束时验证没有违反任何引用关系。如果父行删除或更新,那么在子行中无关紧。

我认为 RESTRICT 将满足您的需求。