4

PHP5.4でMySQL5.5を使用しています。一括挿入を実行していて、新しく挿入された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を選択することにより、自動インクリメントされたを見つけることができます。idそれよりも高いsは、挿入後の新品です。

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

私はこれを考えすぎていたと思います。analysis_id(ケース番号、顧客番号など)を挿入しているので、このクエリの後に、挿入されたanalysis_idのすべてのIDをプルするクエリを実行することにしました。これで私の問題は解決しました。

于 2012-07-18T13:35:11.680 に答える