Ich habe eine Tabelle Menschen (Name, Adresse, Telefon), meine Tabelle haben 2000 + Zeilen. Ich möchte 1000 Zeilen löschen. Wie steht es mit der Abfrage?Wie kann ich Daten mit bestimmten Zeilennummer (SQLite) löschen
5
A
Antwort
9
aktiviert hatte ich nehme an Sie „ersten 1000 Zeilen“ angesichts der unsortierten Reihenfolge des Ergebnisses der „select“ Abfrage mit nicht löschen möchten Sortieren von Argumenten und keine Kriterien, in welchem Fall Sie etwas falsch machen.
Aber als eine akademische Übung, hier ist, wie Sie es tun würden. Alle Zeilen in einem SQLite haben das Feld rowid
, mit dem Sie herausfinden können, wo diese 1000 Zeilen enden.
sqlite> create table t(s string);
sqlite> insert into t values('a1');
sqlite> insert into t values('a2');
sqlite> insert into t values('a3');
sqlite> insert into t values('a4');
sqlite> select * from t;
a1
a2
a3
a4
sqlite> delete from t where rowid < (select rowid from t limit 2,1);
sqlite> select * from t;
a3
a4
5
http://www.sqlite.org/lang_delete.html
Wenn Sie die SQLite-Update löschen Grenze
Delete from your_table
where any_filter_you_wanted_as_well
order by if_you_have_a_preference
limit 1000
Ich bin wirklich frustrierend, wenn Sie auf Ihre Abfrage (sorry, ich bin sql Neuling!) Ich versuche, aber ich kann nicht das Ergebnis bekommen. – Dennie