尝试在SSMS 2012中运行此查询:
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE dbo.mydb;
SET FOREIGN_KEY_CHECKS = 1;
外键检查中出现此错误
Msg 102,Level 15,State 1,Line 3
'='附近的语法不正确。
因此两个SET命令都失败了。如何修复语法错误?
答案 0 :(得分:2)
我认为这里有答案。
set foreign key checks off in an insert script
见Adam Machanic的回复。
的引用:强> 的 抱歉,您无法在SQL Server中执行此操作。您可以做的最好的事情是循环遍历所有表(可能是光标),更改所有约束,然后在最后设置它们。但显然这会影响所有用户会话,而不仅仅是当前脚本。
似乎SQL Server中最接近的选项是这样的。
-- assuming y has FK to x like
-- constraint fk_y_x foreign key (id) references x (id)
alter table y nocheck constraint fk_y_x
go
答案 1 :(得分:0)
或者您可以使用所有
Alter Table dbo.xy CHECK Constraint All