Удалить первые X строк базы данных
есть ли команда SQL для удаления первых строк X таблицы базы данных?
У меня есть таблица базы данных, содержащая некоторую информацию, но не значение id или auto-incrementing и программу, которая обрабатывает первые строки X этой таблицы.
Впоследствии эти строки X нужно удалить. Таким образом, стандартный запрос:
DELETE FROM table WHERE something = value;
Итак, есть ли способ построить запрос типа:
DELETE FROM table WHERE rownumber <= X;
Я пробовал эту команду, но ничего не происходит с базой данных.
У вас есть какие-либо подсказки?
Ответы
Ответ 1
Используйте LIMIT
для удаления:
DELETE FROM table WHERE condition LIMIT 10
Или, если вы не хотите условие
DELETE FROM table LIMIT 10
Помните, что порядок, в котором будут удалены строки, будет undefined - это зависит от вашей конфигурации базы данных и табличных индексов. Вы должны включить ORDER BY
, чтобы удаление выполнялось в определенном порядке, например. ORDER BY id ASC
, чтобы сначала удалить самые младшие идентификаторы.
Подробнее см. документацию по MySQL для DELETE.