Führen Sie einfach das UPDATE
durch wenn Sie SELECT
gleichzeitig.
Ändern Sie dies:
SELECT product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2';
dazu:
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;
Dies setzt voraus, dass Sie eine ID-Spalte in Ihrer Tabelle haben, da sie so eingerichtet werden sollte und wie jede normalisierte Tabelle aussehen würde.
Bearbeiten
Hier ist ein Link für die Dokumentation zu dieser Syntax
Im Wesentlichen versucht dies, die Tabelle zu aktualisieren, die wir hier als t
aliasieren , führen Sie gleichzeitig eine select-Anweisung aus.
Diese Select-Anweisung gibt eine Ergebnistabelle zurück, die wir mit dem Namen temp
aliasieren .
Stellen Sie sich nun vor, das Ergebnis Ihrer select-Anweisung befindet sich in temp
, während sich die gesamte Tabelle, die Sie aktualisieren, in t
befindet .
Abschließend aktualisieren Sie den status
Feld auf 1
wobei die ID
's (in diesen beiden Alias-Ergebnismengen) stimmen überein