一位同事问我,如果在SQL Server中有一张只有自增列的表,如何向该表插入新行?
INSERT INTO MyTable() VALUES()
......不起作用。
至于为什么......我并不是很确定。但我觉得这个问题有点吸引人。
一位同事问我,如果在SQL Server中有一张只有自增列的表,如何向该表插入新行?
INSERT INTO MyTable() VALUES()
......不起作用。
至于为什么......我并不是很确定。但我觉得这个问题有点吸引人。
insert into mytable default values
显然这个有效:
INSERT INTO MyTable DEFAULT VALUES
使用默认值,也适用于默认设置。
create table #test (id int identity, Somedate datetime default getdate())
insert #test default values
select * from #test
编号 日期
1 2009年6月30日 16:04:03.307
set identity_insert MyTable ON
insert MyTable(MyIdentColumn) values(42)
set identity_insert MyTable OFF
使用IDENTITY_INSERT设置:
SET IDENTITY_INSERT MyTable ON INSERT INTO MyTable (AutoIncrementColumnName, OtherColumnNames...) VALUES (9999, OtherData...) SET IDENTITY_INSERT MyTable OFF
确保插入的值不在键中已经存在。