Basta fare UPDATE quando SELECT allo stesso tempo.
Cambia questo:
SELECT product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2';
a questo:
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;
Questo presuppone che tu abbia una colonna ID all'interno della tabella poiché è così che dovrebbe essere impostata e come sarebbe qualsiasi tabella normalizzata.
Modifica
Ecco un link per la documentazione su questa sintassi
In sostanza, ciò che sta facendo è cercare di aggiornare la tabella che qui stiamo alias come t , esegui contemporaneamente un'istruzione select.
Questa istruzione select restituisce una tabella dei risultati che chiamiamo alias con il nome temp .
Quindi ora immagina che il risultato della tua istruzione select sia all'interno di temp , mentre l'intera tabella che stai aggiornando è all'interno di t .
Finalmente aggiorni lo status campo a 1 dove il ID 's (su questi due set di risultati alias) corrispondono