Po prostu wykonaj UPDATE
kiedy SELECT
w tym samym czasie.
Zmień to:
SELECT product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2';
do tego:
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;
Zakłada się, że w tabeli znajduje się kolumna ID, ponieważ tak powinna być skonfigurowana i jak każda znormalizowana tabela będzie wyglądać.
Edytuj
Oto link do dokumentacji tej składni
Zasadniczo robi to podczas próby aktualizacji tabeli, którą tutaj nazywamy aliasem t
, jednocześnie uruchamiasz instrukcję SELECT.
Ta instrukcja select zwraca tabelę wyników, której aliasem jest nazwa temp
.
A teraz wyobraź sobie, że wynik Twojej instrukcji select znajduje się w temp
, podczas gdy cała aktualizowana tabela znajduje się w t
.
Na koniec aktualizujesz status
pole do 1
gdzie ID
's (na tych dwóch zestawach wyników aliasów) są zgodne