SQLite error: zu viele Begriffe, die in Verbindung WÄHLEN Sie
Wenn ich stecken Sie zu viele Daten in sqlite-Datenbank-Datei, wird ein Fehler "zu viele Begriffe, die in Verbindung WÄHLEN Sie" Auftritt. Ich benutze "insert into ... select ... union select ... union ...
". Ich weiß, dass es zu viele select-Anweisungen, aber meine Frage ist: Was ist die maximale Anzahl von Ausdrücken in einer zusammengesetzten SELECT-Anweisung?
InformationsquelleAutor | 2012-03-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer zusammengesetzten SELECT-Anweisung zwei oder mehr SELECT-Anweisungen verbunden, die durch die Operatoren UNION, UNION ALL, EXCEPT oder INTERSECT. Wir rufen jede einzelne SELECT-Anweisung innerhalb einer Verbindung WÄHLEN Sie " ein "Begriff".
Den code-generator in SQLite-Prozesse zusammengesetzte SELECT-Anweisungen mithilfe eines rekursiven Algorithmus. Damit begrenzen Sie die Größe des Stapels, den wir daher beschränken Sie die Anzahl der Terme, die in einer Verbindung WÄHLEN. Die maximale Anzahl der Begriffe ist SQLITE_MAX_COMPOUND_SELECT die standardmäßig auf 500. Wir denken, dies ist eine großzügige Zuteilung, da in der Praxis haben wir fast nie sehen, die Anzahl der Begriffe, die in einer zusammengesetzten select-überschreiten einzelne stellen.
Die maximale Anzahl von zusammengesetzten Begriffe AUSWÄHLEN kann gesenkt werden, in run-time mit der sqlite3_limit(db,SQLITE_LIMIT_COMPOUND_SELECT,Größe) Schnittstelle.
für mehr details überprüfen Sie bitte diese...
http://www.sqlite.org/limits.html
hmm sollte es nicht passieren 500! :)..
da ältere Versionen des sqlite (<3.7.11) nicht erlaubt, mehrere Zeilen einfügen mit INSERT INTO Tabellenname (Spaltenname) VALUES (Wert1) und(Wert2), ... es ist sehr einfach, am Ende mit einem workaround mit >500 UNION Bedingungen für ein einfaches einsetzen wie INSERT INTO Tabellenname (Spaltenname) SELECT Wert1, WIE
columnname
UNION SELECT value2 UNION SELECT value3 ... UNION SELECT value999Ausgezeichnet. Danke für die Beschreibung, das Problem komplett und dann bereitstellen der Antwort auf die Frage. Geschätzt.
InformationsquelleAutor shofee
Gibt es keine Begrenzung für die Anzahl der Wählt Sie verwenden. Alles, was Sie tun müssen, ist zu überprüfen, ob die Liste der Spalten übereinstimmen, oder nicht mit der INSERT-Spalten.
InformationsquelleAutor Teja