UPDATEを実行するだけです SELECTを実行するとき 同時に。
これを変更します:
SELECT product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2';
これに:
UPDATE supplier_dropship_items as t,
(
SELECT id, product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2'
) as temp
SET status = '1' WHERE temp.ID = t.ID;
これは、テーブル内にID列があることを前提としています。これは、ID列の設定方法であり、正規化されたテーブルはどのように見えるかを示しています。
編集
これが
基本的に、これが行っているのは、ここでエイリアスしているテーブルをtとして更新しようとしているときです。 、selectステートメントを同時に実行します。
このselectステートメントは、tempという名前でエイリアスする結果テーブルを返します。 。
では、selectステートメントの結果がtemp内にあると想像してください。 、更新しているテーブル全体がt内にある間 。
最後に、statusを更新します 1へのフィールド ここで、ID の(これら2つのエイリアス結果セットで)一致