SQL 标识插入未创建标识列

SQL Identity Insert is not creating Identity columns

我正在将数据导入一个空白数据库,但出于某种原因它没有创建标识列。

我选择了"Enable identity insert"

但它没有创建标识列。 这是原来的:

id是一个标识列,但是在导入的table:

尚未创建标识列。 有谁知道为什么?

简单。右键单击 table,然后转到 SSMS 中的设计,突出显示主键。

检查标识规范是否具有以下值。

  • 身份规范 = 是
  • (是身份)=是
  • 身份增量 = 1
  • 身份种子 = 1

有帮助吗

create table YourTableName
(
ID int identity(1,1),
contact_ID int,
ipaddress varchar (50),
task varchar (50)
)

如果您想在标识列中插入值,您需要编写如下内容示例:

SET IDENTITY_INSERT YourTableName ON

INSERT into YourTableName(TheIdentity, TheValue)
VALUES (1, 'First Row')

SET IDENTITY_INSERT YourTableName OFF

正如您所说,您有 300 多张桌子

转到您的专栏 属性 :

在身份规范部分将 IsIdentity No 更改为 Yes (默认身份规范将 NO 更改为 Yes) 身份增量 1

我想通了。它右键单击原始数据库并单击 "Tasks > Generate Scripts" 到一个新查询 window。然后我在目标数据库上使用 Object Explorer (F7) 并删除了所有表。我确保我在最后一步中创建的脚本是针对新数据库的,然后我 运行 它们。

完成后,我就可以使用导入向导并检查 "Enable identity insert"。

这有效。