以下是表结构:如何保存自动生成的主键标识的外键列在同一个表
CREATE TABLE [User] (
[Id] bigint identity(1,1) not null,
[FirstName] nvarchar(100) not null,
[LastName] nvarchar(100) not null,
[Title] nvarchar(5) null,
[UserName] nvarchar(100) not null,
[Password] nvarchar(100) not null,
[Inactive] bit null,
[Created] Datetime not null,
[Creator] bigint not null,
[Modified] DateTime null,
[Modifier] bigint null
CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
(
[Id] Asc
)
);
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[FK_User_Creator]') AND parent_object_id = OBJECT_ID(N'[User]'))
ALTER TABLE [User] ADD CONSTRAINT [FK_User_Creator] FOREIGN KEY([Creator]) REFERENCES [User]([Id])
GO
INSERT INTO [User] (Creator) Values ([Id] ?)
这是一个情况下表为空,第一个用户是要在表中添加。否则,我没有问题。
如何在插入语句的同时在创建者列中插入Id?
那么,在您的标题,你说_foreign KEY_但有一个在你的代码,你也没有显示的所有列你的表格[[Creator] [bigint] NOT NULL,',你可以[编辑](https://stackoverflow.com/posts/46743153/edit)你的问题并添加表格结构并解释更多。 – Sami
我添加了表格结构,我需要在创建者列中插入相同的Id值 –
查看更新Furqan。 – Sami