如何插入只有一个 IDENTITY 列的表?

发布于 2024-07-19 19:47:43 字数 475 浏览 3 评论 0原文

(在尝试回答这个问题的过程中提出了这个问题其他

请考虑以下名为 GroupTable 的 MS-SQL 表:

GroupID
-------
1  
2  
3  

其中 GroupID 是主键,并且是一个 Identity 列。

如何在使用 IDENTITY_INSERT ON 的情况下向表中插入新行(从而生成新 ID)?

请注意:

INSERT INTO GroupTable() Values ()   

...不会工作。

编辑:我们在这里谈论 SQL 2005 或 SQL 2008。

(Came up with this question in the course of trying to answer this other one)

Consider the following MS-SQL table, called GroupTable:

GroupID
-------
1  
2  
3  

where GroupID is the primary key and is an Identity column.

How do you insert a new row into the table (and hence generate a new ID) without using IDENTITY_INSERT ON?

Note that this:

INSERT INTO GroupTable() Values ()   

... won't work.

edit: we're talking SQL 2005 or SQL 2008 here.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

温柔嚣张 2024-07-26 19:47:44

您可以尝试使用序列或类似的东西吗? 您从序列中进行选择,它将为您提供序列中的下一个值。

Can you try using a Sequence or something similar? Where you select from a Sequence and it will give you the next value in the sequence.

鯉魚旗 2024-07-26 19:47:44

这实际上是有效的——

插入表默认值

This will work actually--

insert into TABLE default values

无戏配角 2024-07-26 19:47:43

这应该有效:

INSERT INTO GroupTable DEFAULT VALUES 

This should work:

INSERT INTO GroupTable DEFAULT VALUES 
荒人说梦 2024-07-26 19:47:43

干得好:

INSERT INTO GroupTable DEFAULT VALUES

Here you go:

INSERT INTO GroupTable DEFAULT VALUES
铁憨憨 2024-07-26 19:47:43

一次可以插入多行。

例如,插入 30 行。
插入组表默认值
GO 30

这将通过每次递增标识列来插入 30 行。

It is possible to insert more than one row at a time.

For e.g., to insert 30 rows.
INSERT INTO GroupTable DEFAULT VALUES
GO 30

This will insert 30 rows by incrementing the identity column each time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文