插入多行的单个查询:
$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/