我可以使用插入在SQL服务器中设置ID列的值吗?

时间:2013-02-26 13:14:38

标签: sql-server entity-framework

如果我有以下表格定义:

CREATE TABLE [dbo].[Application] (
    [ApplicationId]   INT            IDENTITY (1, 1) NOT NULL,
    [Name] NVARCHAR (MAX) NULL,
    CONSTRAINT [PK_dbo.Application] PRIMARY KEY CLUSTERED ([ApplicationId] ASC)
);

是否可以插入我自己的测试数据并覆盖标识列?我问的原因是因为我需要填充几个表,我想在每个表中获取ID列以匹配外键?

如果这不可能,那么我可以插入数据然后将其更改为标识列吗?如果有人能给我一个例子,我会很高兴。

2 个答案:

答案 0 :(得分:4)

SET IDENTITY_INSERT Application ON

INSERT INTO Application(ApplicationId, Name)
VALUES (3, 'Third Row')

SET IDENTITY_INSERT Application OFF

答案 1 :(得分:1)

SET IDENTITY_INSERT Application ON

[Do your insert]

SET IDENTITY_INSERT Application OFF