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