只有在使用列列表并且IDENTITY_INSERT为ON时,才能指定表'customers'中标识列的显式值

use*_*251 10 sql sql-server-2008-express

可能重复:
当IDENTITY_INSERT设置为OFF时,无法在表'table'中为identity列插入显式值

我是SQL的新手.我正在尝试INSERT在SQL Server 2008 Express版中编写查询.

查询是:

insert into customers
values(201, 'Singh', 'rajnish', '101 bhandup', 'mumbai', 'mp', 33321, 0, null, 123.89, 25.00)
Run Code Online (Sandbox Code Playgroud)

但我得到了以下错误.

只有在使用列列表且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;
Run Code Online (Sandbox Code Playgroud)

但我又得到了同样的错误.

Ale*_*nko 15

试试这个

SET IDENTITY_INSERT customers ON
GO
insert into customers(id, ...)
values(201,'Singh','rajnish','101 bhandup','mumbai','mp',33321,0,null,123.89,25.00)
SET IDENTITY_INSERT customers OFF
Run Code Online (Sandbox Code Playgroud)

  • 您需要列列表.`插入客户(id,foo,bar)值(...)` (10认同)
  • 对不起@Martin Smith是对的 (2认同)