Удалить первые 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.