Можно ли такое сделать одним запросом, если да, то как?
Если таблица yard
user_id
culture_id
count_culture
с которой нужно минуснуть товар после продажи. Входные данные массив ІДов culture_id и число проданного товара count_culture.
Т.е. возможно ли
UPDATE `yard` SET `count_culture` = count_culture -3 WHERE culture_id = 1;
UPDATE `yard` SET `count_culture` = count_culture -10 WHERE culture_id = 2;
сделать один запрос массив с данными.
Или в цикле каждый ид крутить?
Пытался так: UPDATE `yard` SET `count_culture` = count_culture - (3, 10) WHERE IN (1, 2);
@Aliance тогда вместо 1 поставьте n, не вижу принципиальной разницы, но в любом случае надо контролировать остатки, одним простым запросом не обойтись, но можно написать хранимую процедуру.
Так идов много и значение которьіе нужно менять тоже много.
Т.е. возможно ли
UPDATE `yard` SET `count_culture` = count_culture -3 WHERE culture_id = 1;
UPDATE `yard` SET `count_culture` = count_culture -10 WHERE culture_id = 2;
сделать один запрос масив с данньіми.
Или в цикле каждьій ид крутить?