这是我的桌子:
会员:身份证,...
产品:ID,....
Member
如果 Id = 0 并且我不想添加 Id = 0 的任何成员,我的表没有一些值,所以我尝试运行此脚本:
ALTER TABLE [Product]
ADD [Member_Id] BIGINT NOT NULL DEFAULT(0),
CONSTRAINT [FK_Product_Member] FOREIGN KEY ([Member_Id]) REFERENCES [Member];
所以有一个错误:
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_Product_Member".
所以我试试这个:
SET IDENTITY_INSERT [Member] ON
INSERT INTO [Member] ([Id]) VALUES (0);
SET IDENTITY_INSERT [Member] OFF
ALTER TABLE [Product]
ADD [Member_Id] BIGINT NOT NULL DEFAULT(0),
CONSTRAINT [FK_Product_Member] FOREIGN KEY ([Member_Id]) REFERENCES [Member];
DELETE FROM [Member] WHERE [Member].[Id] = 0;
然后新的错误是:
The DELETE statement conflicted with the REFERENCE constraint "FK_Product_Member".
如果我尝试再次创建所有表,当然一切都会好起来的,因为我的数据丢失了,所以需要备份、创建表和恢复数据。那么有什么办法可以在这种情况下改变 Table 吗?你的建议是什么?