首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL -插入并捕获id自动增量值。

SQL -插入并捕获id自动增量值。
EN

Stack Overflow用户
提问于 2009-03-07 05:29:08
回答 6查看 47.9K关注 0票数 16

使用SELECT在同一个SQL中获取auto-id值的最佳方法是什么?

一个论坛说添加这个"; has Return Scope_Identity()

最后,在ASP.

在PHP中有没有相应的方法?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-03-07 05:38:58

这取决于您的数据库服务器。使用MySQL,在插入查询后立即调用mysql_insert_id()。使用PostgreSQL,首先在序列上查询"select nextval(seq)“,并在插入查询中包含键。

如果另一个请求同时插入一条记录,则查询"select max(id) + 1 from tbl“可能会失败。

票数 16
EN

Stack Overflow用户

发布于 2009-09-20 22:04:51

在postgres中,最好的方法是这样做:

insert into foos(name) values ('my_foo') returning id;
票数 7
EN

Stack Overflow用户

发布于 2009-03-07 17:03:14

这取决于您使用的数据库引擎。一些数据库管理系统,例如Firebird,具有可以添加到查询中返回子句。例如,如果您有一个名为TABLE1的表,其中包含名为ID的自动增量列,则可以使用以下命令:

insert into TABLE1(columns...) values (values...) returning ID;

它将返回插入的ID,就像常规select语句一样。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/621369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档