php - 如何获取最新的自动增量 ID 数组?

标签 php mysql lastinsertid last-insert-id

插入多行的单个查询:

$My query = "INSERT INTO exp_channel_titles(channel_id,author_id,ip_address) VALUES(11,1,'203.109.119.2'),(11,1,'203.109.119.2'),(11,1,'203.109.119.2')";

我想要什么:

自动递增的 id 数组。

我正在使用 SELECT LAST_INSERT_ID() 得到什么:

我只得到一个 id。我应该怎么做才能得到最后插入字段的所有自动递增值的数组。

P.S:我无法触发多个插入查询。

最佳答案

如果您在最新版本的 MySQL 上使用 InnoDB,则可以使用 LAST_INSERT_ID() 和 ROW_COUNT() 获取 ID 列表。

如果 innodb_autoinc_lock_mode 设置为 0(传统)或 1(连续),InnoDB 保证在进行批量插入时自动递增的序号。因此,您可以从 LAST_INSERT_ID() 获得第一个 ID,通过添加 ROW_COUNT()-1 获得最后一个 ID。

关于php - 如何获取最新的自动增量 ID 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23654013/

相关文章:

mysql - 我们什么时候给 LAST_INSERT_ID() 一个参数?

php - 使用mysql insert id和if语句插入数组数据

php - Laravel - 尝试在::first() 上获取非对象的属性

javascript - onsubmit cakephp图标更改功能

php - 如何使用php和mysql从表中获取数据

php - 无法显示带有数据 URI 的 BLOB 图像

mysql - 内连接根据日期仅从第二个表中选择一行

MySQL 函数用反引号引用标识符

postgresql - 如何从另一个 php 文件使用 PostgreSql 的 CURRVAL/RETURNING?

php - 如何以编程方式获取/设置产品价格?