使用SELECT在同一个SQL中获取auto-id值的最佳方法是什么?
一个论坛说添加这个"; has Return Scope_Identity()
“
最后,在ASP.
在PHP中有没有相应的方法?
发布于 2009-03-07 05:38:58
这取决于您的数据库服务器。使用MySQL,在插入查询后立即调用mysql_insert_id()
。使用PostgreSQL,首先在序列上查询"select nextval(seq)
“,并在插入查询中包含键。
如果另一个请求同时插入一条记录,则查询"select max(id) + 1 from tbl
“可能会失败。
发布于 2009-09-20 22:04:51
在postgres中,最好的方法是这样做:
insert into foos(name) values ('my_foo') returning id;
发布于 2009-03-07 17:03:14
这取决于您使用的数据库引擎。一些数据库管理系统,例如Firebird,具有可以添加到查询中返回子句。例如,如果您有一个名为TABLE1的表,其中包含名为ID的自动增量列,则可以使用以下命令:
insert into TABLE1(columns...) values (values...) returning ID;
它将返回插入的ID,就像常规select语句一样。
https://stackoverflow.com/questions/621369
复制相似问题