Cukup lakukan UPDATE
ketika Anda SELECT
sekaligus.
Ubah ini:
SELECT product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2';
untuk ini:
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;
Ini dengan asumsi Anda memiliki kolom ID di dalam tabel Anda karena ini adalah cara pengaturannya dan bagaimana tampilan tabel yang dinormalisasi.
Sunting
Berikut adalah tautan untuk dokumentasi tentang sintaks ini
Pada dasarnya apa yang dilakukan ini adalah ketika mencoba memperbarui tabel yang kita aliasing di sini sebagai t
, Anda secara bersamaan menjalankan pernyataan pilih.
Pernyataan pilih ini mengembalikan tabel hasil yang kita alias dengan nama temp
.
Jadi sekarang bayangkan hasil pernyataan pilih Anda ada di dalam temp
, sementara seluruh tabel yang Anda perbarui ada di dalam t
.
Akhirnya Anda memperbarui status
bidang ke 1
dimana ID
's (pada dua set hasil alias ini) cocok