如何实现MySQL插入数据并获取七种自增ID返回方式详解?

2026-04-30 04:121阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1365个文字,预计阅读时间需要6分钟。

如何实现MySQL插入数据并获取七种自增ID返回方式详解?

引用MySQL和Oracle插入时的一个显著区别是:Oracle支持序列做ID;MySQL本身有一个自增列可做自增ID。MySQL在插入一条数据后,如何获取到这个自增ID的值呢?一:使用‘SELECT LAST_INSERT_ID()’。

引言

mysql 和 oracle 插入的时候有一个很大的区别是:

  • oracle 支持序列做 id;
  • mysql 本身有一个列可以做自增长字段。

mysql 在插入一条数据后,如何能获得到这个自增 id 的值呢?

一:使用 last_insert_id()

SELECT LAST_INSERT_ID();

1. 每次 mysql 的 query 操作在 mysql 服务器上可以理解为一次“原子”操作, 写操作常常需要锁表, 这里的锁表是 mysql 应用服务器锁表不是我们的应用程序锁表。

2. 因为 LAST_INSERT_ID 是基于 Connection 的,只要每个线程都使用独立的 Connection 对象,LAST_INSERT_ID 函数 将返回该 Connection 对 AUTO_INCREMENT列 最新的 insert or update* 作生成的第一个 record 的ID。这个值不能被其它客户端(Connection)影响,保证了你能够找回自己的 ID 而不用担心其它客户端的活动,而且不需要加锁。使用单INSERT 语句插入多条记录, LAST_INSERT_ID 返回一个列表。

阅读全文
标签:七种

本文共计1365个文字,预计阅读时间需要6分钟。

如何实现MySQL插入数据并获取七种自增ID返回方式详解?

引用MySQL和Oracle插入时的一个显著区别是:Oracle支持序列做ID;MySQL本身有一个自增列可做自增ID。MySQL在插入一条数据后,如何获取到这个自增ID的值呢?一:使用‘SELECT LAST_INSERT_ID()’。

引言

mysql 和 oracle 插入的时候有一个很大的区别是:

  • oracle 支持序列做 id;
  • mysql 本身有一个列可以做自增长字段。

mysql 在插入一条数据后,如何能获得到这个自增 id 的值呢?

一:使用 last_insert_id()

SELECT LAST_INSERT_ID();

1. 每次 mysql 的 query 操作在 mysql 服务器上可以理解为一次“原子”操作, 写操作常常需要锁表, 这里的锁表是 mysql 应用服务器锁表不是我们的应用程序锁表。

2. 因为 LAST_INSERT_ID 是基于 Connection 的,只要每个线程都使用独立的 Connection 对象,LAST_INSERT_ID 函数 将返回该 Connection 对 AUTO_INCREMENT列 最新的 insert or update* 作生成的第一个 record 的ID。这个值不能被其它客户端(Connection)影响,保证了你能够找回自己的 ID 而不用担心其它客户端的活动,而且不需要加锁。使用单INSERT 语句插入多条记录, LAST_INSERT_ID 返回一个列表。

阅读全文
标签:七种