一位同事问我,如果你在 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
id 某天
1 2009-06-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
确保您插入了一个不在键中的值。