Ich muss die erste / oberste Zeile einer Tabelle in einer SQLite-Datenbank abrufen.
Mein Programm löst jedoch eine SQLException "Sqlite-Syntaxfehler: Syntaxfehler in der Nähe von '1'" für die von mir verwendete Abfrage aus:
SELECT TOP 1 *
FROM SAMPLE_TABLE
Das ist wohl eine Syntax speziell für MS SQL Server und MS ACCESS. Im Moment benutze ich.
SELECT *
FROM SAMPLE_TABLE
LIMIT 1
Was ist die beste Lösung für dieses Problem?
Antworten:
Verwenden Sie die folgende Abfrage:
Hinweis: Die Zeilen-ID-Referenzen von Sqlite werden hier detailliert beschrieben .
quelle
LIMIT 1
ist was du willst. Beachten Sie jedoch, dass dies unabhängig von der Reihenfolge den ersten Datensatz in der Ergebnismenge zurückgibt (es sei denn, Sie gebenorder
in einer äußeren Abfrage eine Klausel an).quelle
LIMIT 1
führt die vollständige Abfrage aus und verwirft dann die nicht benötigten Ergebnisse. Es gibt mehrere Mailinglistendiskussionen darüber undCOUNT(*)
. Es unterscheidet sich vom Finden des ersten passenden Datensatzes mitTOP 1
. Sobald der erste Datensatz gefunden wurde, kann die Abfrage anhalten und das Ergebnis zurückgeben.