Seite 1 von 1

sqlite3 execute() Parameterersetzung

Verfasst: Sonntag 22. Mai 2011, 12:30
von haukero
Hallo Forum,

Habe folgendes Problem mit sqlite3 cursor.execute():
cursor.execute("SELECT * FROM table ORDER BY name") liefert das richtige Ergebnis.
cursor.execute("SELECT * FROM table ORDER BY ?", ("name",)) liefert dagegen ein falsches Ergebnis (nicht sortiert).

Jetzt wollte ich fragen, ob ich bei der Ersetzung was falsch mache oder ob man Ersetzungen nur bei WHERE Clauses verwenden darf?

cursor.execute("SELECT ?, ? FROM table ORDER BY ?", ("id", "name", "name")) liefert als Ergebnis übrigens nur Datenmüll.

Vielen Dank und Gruss,
haukero

Re: sqlite3 execute() Parameterersetzung

Verfasst: Sonntag 22. Mai 2011, 13:39
von BlackJack
@haukero: Die Ersetzung ist für *Werte*, Du versuchst damit aber einen Spaltennamen einzufügen.