У меня есть крошечное заявление, в котором декрементах значение:SELECT, UPDATE, DELETE с одним SQL-запросом?
UPDATE cart_items SET quantity = quantity - 1
WHERE cart_id = {$cart_id} AND id = {$cart_item_id}
Но это было бы возможно для SQL, чтобы удалить строку, если это значение становится равным 0 после декремента? Если это так, я тогда хочу пересчитать количество строк, соответствующих эту телегу:
SELECT FROM cart_items WHERE cart_id = {$cart_id}
И если число строк равно нуль, я хочу, чтобы удалить эту запись из другой таблицы, например, так:
DELETE FROM cart WHERE id = {$cart_id}
На данный момент для этого требуется несколько запросов, но может ли это быть сделано в одном выражении SQL?
Вам понадобится хранимая процедура. –
Это невозможно сделать в одном запросе. – rbedger