如果我有一个只有自动增量列的表,我该如何插入?
一位同事问我,如果你在SQL Server中有一个表,只有一个自增列,你如何向该表中插入新行?
INSERT INTO MyTable() VALUES()
...不起作用。
至于为什么……我也不太清楚。 但我发现这个问题很有说服力。
A colleague asked me, if you have a table in SQL Server with only an auto-increment column, how do you insert a new row into that table?
INSERT INTO MyTable() VALUES()
...doesn't work.
As for why... I'm not really sure. But I found the question kind of compelling.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
显然这有效:(
在我点击“提问”后才发现它。抱歉!)
Apparently this works:
(Just discovered it after I hit Ask Question. Sorry!)
使用默认值,也适用于默认
id Somedate
1 2009-06-30 16:04:03.307
use default values, works also with defaults
id Somedate
1 2009-06-30 16:04:03.307
使用 IDENTITY_INSERT 设置:
SET IDENTITY_INSERT MyTable ON
INSERT INTO MyTable (AutoIncrementColumnName, OtherColumnNames...)
值(9999、其他数据...)
SET IDENTITY_INSERT MyTable OFF
确保插入的值不在键中。
Use the IDENTITY_INSERT Setting:
SET IDENTITY_INSERT MyTable ON
INSERT INTO MyTable (AutoIncrementColumnName, OtherColumnNames...)
VALUES (9999, OtherData...)
SET IDENTITY_INSERT MyTable OFF
Make sure you insert a value that isn't in the key already.