通过SQL语句手动插入表中,但键是自动增量的

Mik*_*ike 12 sql database sql-server sql-server-2008

假设我有一个用户表,id列是主键并自动递增.

我想尝试通过以下语句手动添加用户:

INSERT INTO table_name (id, username, password)  
VALUES (?, Mike, Mike);
Run Code Online (Sandbox Code Playgroud)

但我不想指定?值,只想添加到下一行.

谢谢大家,我忘了将id列设置为自动增量.它现在有效.

Mr.*_*ien 11

所以只是不要使用它...这样做..

并确保使用单引号插入 strings

INSERT INTO table_name (username, password)
VALUES ('Mike', 'Mike');
Run Code Online (Sandbox Code Playgroud)

正如您所说的那样auto incremented,SQL会自动将id字段的值增加1


Mr *_* T. 9

如果要手动将值插入自动递增列,可以使用sql的IDENTITY_INSERT.例如

SET IDENTITY_INSERT MyTable ON
insert into MyTable(id, name) values (1,'asdf');
insert into MyTable(id, name) values (3,'htgfds');
insert into MyTable(id, name) values (123,'dsfg');
SET IDENTITY_INSERT MyTable OFF
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读更多 IDENTITY_INSERT