一度に複数の更新クエリを実行しようとしています。以下のコードをご覧ください。
実際のコード ブロック:
$relist_item_id = $_REQUEST['relist_item_id']; // an array
$relist_item_num = count($relist_item_id);
for($j = 0; $j < $relist_item_num; $j++){
$item_id = $relist_item_id[$j];
$update_query = "UPDATE items SET ActiveItem=1 WHERE id=$item_id";
mysql_query($update_query);
}
上記のコードは、各クエリを 1 つずつ実行します。しかし、一度にすべてのクエリを実行したいので、以下のコードを試しました。
$update_query = '';
for($j = 0; $j < $relist_item_num; $j++){
$item_id = $relist_item_id[$j];
$update_query .= "UPDATE items SET ActiveItem=1 WHERE id=$item_id;";
}
mysql_query($update_query);
上記のコードは、レコードを実行/更新していません。しかし、私は同様の方法で実行したいです。そうすることは可能ですか?
phpmyadminで「SQL」を使用して、一度に複数のクエリを実行できることを確認しました。つまり、一度に複数の更新クエリを実行できます。たとえば。以下の更新クエリが一度に実行されます。
UPDATE items SET ActiveItem=1 WHERE id=1;UPDATE items SET ActiveItem=1 WHERE id=5;UPDATE items SET ActiveItem=1 WHERE id=10;UPDATE items SET ActiveItem=1 WHERE id=12;UPDATE items SET ActiveItem=1 WHERE id=15;UPDATE items SET ActiveItem=1 WHERE id=16;UPDATE items SET ActiveItem=1 WHERE id=20;
また、一度に最大 20 個のクエリを実行できるなど、クエリに制限があることも知りたいです。
私の実際の目標は、巨大な for ループが存在する可能性があり、すべてのクエリを 1 つずつ実行するのに時間がかかる可能性があるため、実行時間を節約することです。私の上記のアプローチは正しくないかもしれません。しかし、あなたのアイデアは私がそうするのに役立ちます。
前もって感謝します。