首页 > 数据库 > mysql教程 > 如何在MySQL中检索最后插入的自增ID?

如何在MySQL中检索最后插入的自增ID?

DDD
发布: 2024-12-09 09:50:07
原创
235 人浏览过

How to Retrieve the Last Inserted Auto-Increment ID in MySQL?

在 MySQL 中查找 SQL Server SCOPE_IDENTITY() 的等效项

SQL Server 函数 SCOPE_IDENTITY() 提供了一种检索最后一个标识的方法当前范围内的 INSERT 语句生成的值。它在 MySQL 中的等效项是 LAST_INSERT_ID()。

LAST_INSERT_ID()

LAST_INSERT_ID() 函数返回最近插入一行的 INSERT 操作生成的 ID。具有 AUTO_INCRMENT 列的表。其语法为:

LAST_INSERT_ID([table_name])
登录后复制

可选的 table_name 参数指定从中检索最后一个标识值的表。如果省略,LAST_INSERT_ID() 返回插入了 AUTO_INCREMENT 列的最后一个表的值。

示例

考虑下表:

CREATE TABLE Foo (
    FooId INT AUTO_INCREMENT PRIMARY KEY
);
登录后复制

使用 INSERT 语句向该表插入一行将生成一个 ID新纪录。 LAST_INSERT_ID() 函数可用于在 INSERT 操作后立即检索此 ID,如下所示:

INSERT INTO Foo () VALUES ();
SELECT LAST_INSERT_ID();
登录后复制

这将返回新创建的记录的 ID。

附加说明

  • LAST_INSERT_ID()仅检索当前会话的 ID。它不会返回在其他会话中生成的 ID。
  • 在事务中使用单个 INSERT 语句插入多行时,LAST_INSERT_ID() 返回插入的第一行的 ID。
  • 如果INSERT 语句不会生成标识值,LAST_INSERT_ID() 返回 0。

以上是如何在MySQL中检索最后插入的自增ID?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板