2012-10-05 10 views
5

Kann ich in Sqlite wissen, wie die letzten 10 Datensätze gelöscht werden? Ich habe folgende Kodierung geschrieben, scheint aber überhaupt nicht zu funktionieren.Wie lösche ich die letzten 10 Datensätze in sqlite

delete from tb_news where newsid = (SELECT newsid from tb_news order by newsid asc limit 10) 

Antwort

7

können Sie

verwenden
delete from tb_news where newsid IN 
(SELECT newsid from tb_news order by newsid desc limit 10) 
1

Ändern Sie Ihre SQL-Anweisung wie folgt.

delete from tb_news where newsid IN (SELECT newsid from tb_news order by newsid DESC limit 20) 

Randbemerkung: SQLLite nicht LIMIT in der Sub-Abfrage unterstützen.

+0

Es sollte DESC anstelle von ASC sein. –

+0

@YaqubAhmad Ich habe die Antwort korrigiert, danke, dass ich darauf hingewiesen habe. – Lipongo

0

Haben Sie versucht?

delete from tb_news where newsid IN (SELECT newsid from tb_news order by newsid asc limit 20) 

Ich kenne Ihre Tabellenstruktur nicht, aber vielleicht sollte es DESC anstelle von ASC sein. Ich meine, DESC wird dir die größten IDs geben (und so auch die neuesten).

+0

Es sollte DESC anstelle von ASC sein. –

Verwandte Themen