Вот моя таблица:
table
. id
(автоинкремент, первичный ключ)
table
. qty
(возможные значения: 0 - 1000)Удаление количества из нескольких строк в базе данных
Ряды:
+----+-----+ | id | qty | +----+-----+ | 1 | 0 | | 2 | 5 | | 3 | 5 | | 4 | 10 | +----+-----+
Я хочу, чтобы уменьшить количество доступных на 12. Значение, новый результат должен быть:
Edit: я, наверное, должен был указан все эти числа произвольны. Они могут быть чем угодно.
+----+-----+ | id | qty | +----+-----+ | 1 | 0 | | 2 | 0 | | 3 | 0 | | 4 | 8 | +----+-----+
Прямо сейчас, я делаю следующее:
SELECT id, qty FROM table WHERE qty > 0 LIMIT 12
фильтр через все данные, чтобы выяснить, что кол-во, чтобы удалить из каждой строки
использования подготовленный отчет PDO для массового обновления затронутых строк:
UPDATE `table` SET qty = ? WHERE id = ?`
Мой вопрос: есть ли способ сделать это в MySQL?
Как вы определяете распределение 12 по четырем различным значениям id? Приведите их в порядок? Вычесть из всех одинаково? Два ответа, предоставленные до сих пор, на самом деле не дают вам поведения, которое вы хотите. –
Вниз идентификаторы в порядке. – phpmeh