我在使用SQL Server Express的身份功能时遇到问题

时间:2012-05-14 06:36:13

标签: sql-server sql-server-express identity-column

我正在使用SQL Server Express,我创建了这个表

CREATE TABLE inventory
(
    id INT NOT NULL IDENTITY(1,1),
    description nvarchar(50),
    quantity int,
    price money
)

当我插入此声明时:

INSERT INTO inventory VALUES('water', 20, 1.50)

我收到此错误:

  

查询和表中的列数必须匹配。 [数量   query = 3中的列数,表中的列数= 4]

当我发表这个声明时:

INSERT INTO inventory VALUES(1, 'water', 20, 1.50)

我收到此错误:

  

无法修改列。 [列名= id]

我认为身份会自动增加值,所以我也不能这样做,我该如何解决?提前致谢

1 个答案:

答案 0 :(得分:5)

您必须在插入

中明确指定列
insert Inventory(Description, Quantity, Price) values ( ...)