当我尝试截断表格时,我收到如下错误消息,
**Cannot truncate table 'Locations' because it is being referenced by a FOREIGN KEY constraint.**
我不知道那个查询..任何人帮助我。
当我尝试截断表格时,我收到如下错误消息,
**Cannot truncate table 'Locations' because it is being referenced by a FOREIGN KEY constraint.**
我不知道那个查询..任何人帮助我。
需要注意的一件事 - 当您截断标识列时会重置。当你删除它不会。因此,如果您执行删除并且最后一个值为 242,则下一个值将是 243。
进行截断的唯一方法是删除关系。就个人而言 - 我只是删除而不是删除所有关系然后将它们放回去。
为什么?
原因是 TRUNCATE 在没有单独检查的情况下删除了所有记录。
因此,DELETE FROM Locations 将删除每条记录(这就是事务日志中记录的内容),检查是否违反了任何约束。
TRUNCATE TABLE Locations 不这样做。执行(并记录)单个截断操作,这就是它更快的原因。
有关更多信息,请参阅本文。
解决方法
最简单的方法是删除而不是截断。但是如果这有很长的执行时间,并且删除约束是安全的,您可能需要编写一个脚本来删除约束、截断表、创建约束。