我有一个父表,其id列已定义为Identity。
CREATE TABLE [model].[Parent](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NOT NULL)
现在我有另一个子表表引用父ID列
CREATE TABLE [model].[Child](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NOT NULL,
[ParentId] [int] NULL)
GO
ALTER TABLE [model].[Child] WITH CHECK ADD CONSTRAINT [FK_ParentIdentity] FOREIGN KEY([ParentId])
REFERENCES [model].[Parent] ([Id])
GO
两个表都将id作为主键。现在的问题是我在进行迁移时设置了
DBCC CHECKIDENT ('[Model].[Parent]', RESEED, 0)
DBCC CHECKIDENT ('[Model].[Child]', RESEED, 0)
我使用动态查询生成插入语句。
现在当我插入第一行时,我在子表中为Parent.id插入Null值并得到以下错误:
INSERT语句与FOREIGN KEY约束冲突" FK_ParentIdentity"。冲突发生在数据库" DBName",table" model.Parent",column' Id'中。 检查身份信息:当前身份值' NULL'。
任何人都可以帮助我,我看到很多解决方案,但没有帮助我。我没有选择删除该表并再次创建它。