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つのエイリアス結果セットで)一致