4

我正在使用 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 循环并执行多个查询,但如果必须的话,我会这样做。谢谢!

4

2 回答 2

4

id您可以通过首先选择表中最高的 id来找到自动递增的 s。ids 高于插入后的新值。

select max(id) from commodity 
于 2012-07-18T13:21:55.043 回答
0

我想我是在想这个。由于我要插入 analysis_id(例如,案例编号、客户编号等),因此我决定在此查询之后运行一个查询,该查询将提取插入的 analysis_id 的所有 ID。这解决了我的问题。

于 2012-07-18T13:35:11.680 回答