Bare lav UPDATE når du SELECT det på samme tid.
Skift dette:
SELECT product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2';
til dette:
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;
Dette forudsætter, at du har en ID-kolonne inde i din tabel, da det er sådan den skal sættes op, og hvordan enhver normaliseret tabel vil se ud.
Rediger
Her er et link til dokumentationen om denne syntaks
Det, dette i bund og grund gør, er, mens vi forsøger at opdatere tabellen, som vi her kalder t , kører du samtidig en select-sætning.
Denne select-sætning returnerer en resultattabel, som vi kalder navnet temp .
Så forestil dig nu, at resultatet af din select-sætning er inden for temp , mens hele tabellen du opdaterer er inde i t .
Til sidst opdaterer du status felt til 1 hvor ID 's (på disse to aliasresultatsæt) matcher