Sqlite, как удалить последнюю добавленную запись таблицы - PullRequest
9 голосов
/ 03 ноября 2010

Я пытаюсь удалить последнюю добавленную запись таблицы:

DELETE FROM notes ORDER BY created_at DESC LIMIT 1

Это просто вызывает следующую ошибку:

near "ORDER": syntax error

Почему я могу получить эту ошибку?(notes существует и содержит записи!)

Ответы [ 3 ]

15 голосов
/ 03 ноября 2010

Попробуйте это

DELETE FROM notes WHERE id = (SELECT MAX(id) FROM notes);
2 голосов
/ 03 ноября 2010
delete from notes where created_at = ( select max(created_at) from notes );

Будьте осторожны, это не ограничит количество удаляемых строк. Если в максимуме есть несколько строк (созданный_кат), все они будут удалены, поскольку указанный вами объект не существует (последняя добавленная запись таблицы).

0 голосов
/ 03 ноября 2010

Проверьте этот пост, он использует вложенные запросы для достижения того, что вы пытаетесь сделать:

http://sqlblogcasts.com/blogs/simons/archive/2009/05/22/UPDATE-and-DELETE-TOP-and-ORDER-BY---Part2.aspx

...