【发布时间】:2013-05-19 19:55:15
【问题描述】:
有没有办法选择插入的行?我正在尝试使用SqlCommand 运行以下查询(它用于在数据库中保留给定的 id):
INSERT INTO tbl (id)
SELECT COUNT(*) + 1 AS id from tbl
有没有办法返回插入的 id 列,以便我可以在我的应用程序中使用它?或者也许有更简单的方法可以实现这一目标?我必须绝对确定我保留了免费 ID,即使多个用户会同时使用该应用。
另外,有没有办法可以更改查询以选择第一个空闲 id,这样我就可以避免空白?
【问题讨论】:
-
您为什么首先生成和保留 ID?听起来您真正想要解决的问题就是您这样做的原因。数据库已经有 auto-id 列,当你插入时会生成一个新的唯一 ID。
-
当我将进行一系列与新行相关的更新并且唯一的关键列是 ID 列时,我还能如何确保我将对单行进行操作?
-
stackoverflow.com/questions/42648/… 可能对插入数据后如何获取身份感兴趣。这样,一旦您插入数据,数据库就可以生成一个 id,您可以检索它以进行下一步操作。
标签: c# sql-server tsql