【发布时间】:2016-08-07 15:26:20
【问题描述】:
给定表结构:
Comment
-------------
ID (PK)
ParentCommentID (FK)
我想运行DELETE FROM Comments 来删除所有记录。
但是,如果在子 cmets 之前删除了父评论,则与父评论记录的关系会产生 FK 冲突。
要解决此问题,可以按相反的 ID 顺序删除。如何以相反的ID顺序删除表中的所有记录?
【问题讨论】:
-
禁用外键和截断表,启用FK。
-
用 CASCADE 更新外键
-
查看之前的SO answer。基本上删除当前的 FK 约束并使用级联删除选项重新添加它。这将允许一次删除从两个表中删除记录。
-
使用
truncate table Comment?
标签: sql sql-server sql-delete