我正在写一个脚本。这个脚本的目的是
我在再次添加约束时遇到问题 [步骤 3],我相信这是因为我的约束与可用的约束冲突。最初的数据是...
作者表
1 Kenneth Graham k.graham@twitw.com
Run Code Online (Sandbox Code Playgroud)
书桌
1 The wind in the willows Classic childrens story about woodland animals 123456
Run Code Online (Sandbox Code Playgroud)
作者书籍表
1 1 1
Run Code Online (Sandbox Code Playgroud)
我对 authorbooks 表有以下限制:
ALTER TABLE [dbo].[AuthorBooks] WITH CHECK ADD CONSTRAINT [FK_Books_Author_xref_Books] FOREIGN KEY([BookId])
REFERENCES [dbo].[Books] ([ID])
GO
ALTER TABLE [dbo].[AuthorBooks] WITH CHECK ADD CONSTRAINT [FK_Books_Author_xref_Authors] FOREIGN KEY([AuthorId])
REFERENCES [dbo].[Authors] ([Id])
GO
Run Code Online (Sandbox Code Playgroud)
因此,当我尝试添加约束时,出现以下错误:
ALTER TABLE 语句与 FOREIGN KEY 约束“FK_Books_Author_xref_Authors”冲突。冲突发生在数据库“PeteDb”、表“dbo.Authors”、“Id”列中。
有什么办法可以解决这个问题并且无论如何都可以添加约束吗?
小智 5
使用 WITH NOCHECK 而不是 WITH CHECK 添加与现有数据冲突的约束。/sf/ask/37095901/
也许您收到错误是因为您“2. Trucate a table”。不是全部?也许您要删除 Authors 或 Books,并在 AuthorBooks 中保留引用这些其他表的记录。