DELETE语句与REFERENCE约束冲突。
DELETE 语句与 REFERENCE 约束"FK__Comment__Article__0519C6AF"冲突。该冲突发⽣于数据库"dbArticle",表"dbo.Comment", column 'ArticleID'。
语句已终⽌。
外键取值规则:空值或参照的主键值。foreign key references用法
(1)插⼊⾮空值时,如果主键表中没有这个值,则不能插⼊。
(2)更新时,不能改为主键表中没有的值。
(3)删除主键表记录时,你可以在建外键时选定外键记录⼀起级联删除还是拒绝删除。
(4)更新主键记录时,同样有级联更新和拒绝执⾏的选择。
INSERT 和 UPDATE 规范类别
展开以显⽰有关该关系的“删除规则”和“更新规则”的信息。
删除规则
指定当数据库的最终⽤户尝试删除某⼀⾏,⽽该⾏包含外键关系所涉及的数据时所发⽣的情况。如果设置为:
Restrict(限制)︰如果有从⾏就不能删除⽗⾏。
Cascade(级联)︰删除⽗表中的⾏会⾃动删除从表中的任何相关⾏。
No Action(⽆动作)︰这是默认的情况,如果有从⾏就不能删除⽗⾏。和restrict的区别在于何时执⾏约束。
• Set Null(置空)︰该规则确保在⽗表删除⼀⾏时,讲从表的外键置空(如果允许空的话),⾏的其它列保持不变。
更新规则
指定当数据库的⽤户尝试更新某⼀⾏,⽽该⾏包含外键关系所涉及的数据时所发⽣的情况。如果设置为:
Restrict(限制)显⽰⼀条错误信息,告知⽤户不允许执⾏该删除操作,DELETE 将被回滚。Cascade(级联)删除包含外键关系中所涉及的数据的所有⾏。
Set Null(置空)如果表的所有外键列都可接受空值,则将该值设置为空。仅适⽤于 SQL Server 2005。
No Action(⽆动作)如果表的所有外键列均已定义默认值,则将该值设置为列定义的默认值。仅适⽤于 SQL Server 2005。
外键(foreign key)的更新值必须匹配其⽗表中的某个⽗键值,并且当完成⽗键(parent key)上的 update 操作时,所有的外键值必须有匹配的⽗键值。总的来说,这意味着不能存在任何“孤⼉”;每个⼦表必须有⼀个⽗表。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。