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

0 sql-server identity-column sql-server-express

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

CREATE TABLE inventory
(
    id INT NOT NULL IDENTITY(1,1),
    description nvarchar(50),
    quantity int,
    price money
)
Run Code Online (Sandbox Code Playgroud)

当我插入此声明时:

INSERT INTO inventory VALUES('water', 20, 1.50)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

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

当我发表这个声明时:

INSERT INTO inventory VALUES(1, 'water', 20, 1.50)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

该列无法修改.[列名= id]

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

Dav*_*ant 5

您必须在插入中明确指定列

insert Inventory(Description, Quantity, Price) values ( ...)
Run Code Online (Sandbox Code Playgroud)