【发布时间】:2023-04-08 01:19:01
【问题描述】:
可能重复:
Cannot insert explicit value for identity column in table ‘table’ when IDENTITY_INSERT is set to OFF
我是 SQL 新手。我正在尝试在 SQL Server 2008 Express 版中编写 INSERT 查询。
查询是:
insert into customers
values(201, 'Singh', 'rajnish', '101 bhandup', 'mumbai', 'mp', 33321, 0, null, 123.89, 25.00)
但我收到以下错误。
只有在使用列列表并且 IDENTITY_INSERT 为 ON 时,才能为表 'customers' 中的标识列指定显式值。
我搜索了stackoverflow。发现了一些类似的问题,但无法理解解释。请帮助我理解错误并纠正它。
编辑:
我试过了:
SET IDENTITY_INSERT customers ON;
insert into customers
values(201, 'Singh', 'rajnish', '101 bhandup', 'mumbai', 'mp', 33321, 0, null, 123.89, 25.00)
SET IDENTITY_INSERT customers OFF;
但我又遇到了同样的错误。
【问题讨论】:
-
要么不为标识列插入显式值,要么使用
SET IDENTITY_INSERT customers ON允许您这样做。 -
我看到了那个答案并尝试了我编辑中提到的解决方案之一。但它又给出了同样的错误。
-
而您又没有阅读错误“...当使用列列表并且 IDENTITY_INSERT 为ON”。你已经解决了第二部分,但不是第一部分。
-
意味着我必须使用 colmun 列表?
标签: sql sql-server-2008-express