php - 批量插入后检索 ID

标签 php mysql insert mysqli bulkinsert

我正在使用 MySQL 5.5 和 PHP 5.4。我正在执行批量插入,需要捕获所有新插入的 ID。这是我的代码:

$db->query("INSERT INTO commodity (analysis_id, commodity_description, a_units, 
a_average_yield, a_average_price) SELECT $analysis_id, commodity_description, 
a_units, a_average_yield, a_average_price FROM commodity WHERE analysis_id = 
$import_analysis_id");

有没有办法检索插入行的所有新 ID?使用 $db->insert_id 只返回一个 ID。我不愿意使用 PHP 循环并执行多个查询,但如果必须的话,我会的。谢谢!

最佳答案

您可以通过首先选择表中最高的 ID 来找到自动递增的 idid 比它高的是插入后新的。

select max(id) from commodity 

关于php - 批量插入后检索 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11542366/

相关文章:

mysql - 如果内部查询没有找到任何内容,则取消插入

mysql - 如何以最有效的方式跟踪观看次数?

php - 使用 ffmpeg 缩放和剪切部分视频

MySql - 对日期列使用 concat

mysql - 是否可以在已存储现有数据的字段中添加数据?

php - 如何从单选按钮获取值并从 mySQL 获取值

PHP 在客户类中优化查询

PHP 5.4.4 MySQL 连接

php - 使用 PHP Captcha 插件的 HTML 表单,我遇到了一些问题

php - 从 PHP 从 COM 的 DOTNET 类调用 RNGCrypto