Как удалить последнюю строку в базе данных msql ?

Рейтинг: 0Ответов: 2Опубликовано: 08.11.2014

Как удалить последнюю строку в базе данных msql ? Если можно с примером.

Ответы

▲ 3

Попробуйте от этого оттолкнуться: SELECT * FROM 'table' ORDER BY id DESC LIMIT 1 Эта запись должна вернуть последнюю строку. Вам нужно не всю строку(все столбцы), а только id, значит далее так же подзапросом удалить.

DELETE FROM 'table' WHERE id = (SELECT id FROM 'table' ORDER BY id DESC LIMIT 1)

Удачи!

▲ 1

Последняя строка - это которая последней добавлялась или которая последней редактировалась или строка с максимальным значением, например, поля id? В базах данных нет понятия последней строки, есть понятие последней транзакции.

Обновление

MySQL не разрешает удалять из таблицы строку, если из этой же таблицы в запросе идет выборка. Вот так у меня работает:

DELETE FROM `test`
 WHERE id = (SELECT x.id
                         FROM (SELECT MAX(t.id) AS id 
                                 FROM `test` t) x)