Структура таблицыКак удалить переменное число строк в mysql?
------------
Transaction
------------
id INT PrimaryKey
user_id INT ForeignKey
amount INT
------------
User
------------
id INT PrimaryKey
number INT
таблица транзакций содержит несколько строк для каждого пользователя, количество строк хранится в User.number (который не является одинаковым для каждого пользователя)
из-за некоторой ошибки в программе некоторые дополнительные строки был создан в таблице транзакций без увеличения. User.number
Теперь мне нужно удалить лишние строки из таблицы транзакций.
Насколько я знаю, чтобы удалить последние 10 строк в таблице транзакций, можно запустить
DELETE * from Transaction ORDER BY id DESC LIMIT 10;
Есть ли способ, чтобы удалить переменное число строк для различных пользователей в одном запросе SQL?
Ну, может быть, здесь что-то не хватает, но если те, у кого нет данных, проблема, почему бы вам не удалить их без использования? –
Если я правильно понимаю ваши вопросы, у вас есть пользователи в базе данных, которые имеют число 5, но 8 транзакций в таблице транзакций. Как узнать, какие строки нужно удалить из таблицы транзакций? Это те, у которых самые высокие идентификаторы? – scraatz
О, и если вы собираетесь делать Delete * from SomeTable Limit 10, разместите там заказ –