Doe gewoon de UPDATE
wanneer je SELECT
het tegelijkertijd.
Wijzig dit:
SELECT product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2';
naar dit:
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;
Dit veronderstelt dat je een ID-kolom in je tabel hebt, aangezien dit is hoe het moet worden ingesteld en hoe een genormaliseerde tabel eruit zou zien.
Bewerken
Hier is een link voor de documentatie over deze syntaxis
Wat dit in wezen doet, is terwijl we proberen de tabel bij te werken die we hier een alias gebruiken als t
, voert u tegelijkertijd een select-statement uit.
Deze select-instructie retourneert een resultatentabel die we een alias noemen met de naam temp
.
Stel je nu voor dat het resultaat van je select-statement in temp
. zit , terwijl de hele tabel die u bijwerkt zich in t
bevindt .
Eindelijk update je de status
veld naar 1
waar de ID
's (op deze twee alias resultatensets) komen overeen