Просто направете UPDATE
когато SELECT
в същото време.
Променете това:
SELECT product_name, sku, qty
FROM supplier_dropship_items
WHERE supplier_id = '3' AND status = '2';
към това:
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;
Това предполага, че имате колона с идентификационен номер вътре в таблицата си, тъй като ето как трябва да бъде настроена и как би изглеждала всяка нормализирана таблица.
Редактиране
Ето връзка за документацията за този синтаксис
По същество това, което прави, е докато се опитваме да актуализираме таблицата, която тук наричаме псевдоним като t
, едновременно изпълнявате оператор select.
Този оператор select връща таблица с резултати, която използваме псевдоним с името temp
.
И така, сега си представете, че резултатът от вашия оператор select е вътре в temp
, докато цялата таблица, която актуализирате, е вътре в t
.
Накрая актуализирате status
поле до 1
където ID
(на тези два резултатни набора псевдоними) съвпадат