2010-11-03 30 views
8

J'essaie de supprimer la dernière entrée ajoutée d'une table:Sqlite comment supprimer la dernière entrée ajoutée d'une table

DELETE FROM notes ORDER BY created_at DESC LIMIT 1 

Cela provoque simplement l'erreur suivante:

near "ORDER": syntax error 

Pourquoi pourrais-je avoir cette erreur? (! notes existe et a des enregistrements en elle)

+0

est created_at une colonne que vous définissez? –

Répondre

12

Essayez cette

DELETE FROM notes WHERE id = (SELECT MAX(id) FROM notes); 
+0

Merci c'est ce que j'utilise! – Markus

+0

Que faire si je n'ai pas de colonne 'id'? – Rolf

2
delete from notes where created_at = (select max(created_at) from notes); 

Attention, ce ne sera pas limiter le nombre de lignes supprimées. S'il y a plus d'une ligne à max (created_at), cela les supprimera toutes car le sujet que vous avez spécifié n'existe pas (dernière entrée ajoutée d'une table).

+0

C'est la solution pour moi! Merci pour votre indice! J'utilise juste le max (id) pour m'assurer qu'il n'y a vraiment que le dernier identifiant entré ... – Markus