sqlite3 execute() Parameterersetzung

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Gesperrt
haukero
User
Beiträge: 3
Registriert: Sonntag 22. Mai 2011, 12:19

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
haukero
User
Beiträge: 3
Registriert: Sonntag 22. Mai 2011, 12:19

Sorry falsches Forum.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dafür kann man sich an Moderatoren wenden, statt Crossposts zu machen. Verschoben und geschlossen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Gesperrt