1

私はどこでも検索しましたが、これに対する実行可能な解決策を見つけることができませんでした。多分私はこれについて正しい方法で行っていません。「temp_image」テーブルの image_id を参照する ID の配列にコンマ区切りの値のリストがあります。ここで、その配列内の image_id を持つすべての画像に関するすべての情報を選択し、それらを「temp_image」テーブルから「images」テーブルに転送する必要があります。

$IMgids = 配列 (1,2,3,4,5,9); 私のクエリはどのように見えますか?where句はどのように見えるべきですか。私は 1 行を転送することに慣れていますが、この場合は 50 行にもなる可能性があります。これについてどうすればよいのでしょうか?

4

1 に答える 1

0

あなたが投稿した小さな情報から、次の2つの詳細が必要だと思います:

  1. 句のIN演算子WHERE。これにより、配列によって参照されるすべてのエントリを一度に参照できますSELECT ... FROM ... WHERE id IN (1,2,3,4,5,9);。phpsimplode()関数を使用して、句内に設定された ID を構築する必要があるでしょう。implode(',',$IMgids)

  2. 別のテーブルから読み取られた複数の行をテーブルに挿入するためのサブクエリの原則。これについては、mysql (オンライン) ドキュメントを参照してください。このようなもの:INSERT INTO images (SELECT * FROM temp_images WHERE...);

于 2013-01-02T12:32:47.793 に答える