sqlite (python sqlite3) で非常に単純なクエリを実行すると、奇妙な動作が発生します。
これが機能するクエリです
cursor = self.con.cursor()
cursor.execute("SELECT * FROM vpro1 ORDER BY :orderby DESC LIMIT 1", {"table": "vpro1", "orderby": self.unit_timestamp})
しかし、これは私にエラーを投げます
cursor = self.con.cursor()
cursor.execute("SELECT * FROM :table ORDER BY :orderby DESC LIMIT 1", {"table": "vpro1", "orderby": self.unit_timestamp})
例外は
sqlite3.OperationalError: near ":table": syntax error
したがって、テーブル名にqmarkを使用しようとすると、エラーがスローされます。クエリでハードコードすると機能し、:orderbyは使用するもの(qmark、ハードコード、名前付き)で機能します... qmarkスタイルと同じ動作( ?,? タプル付き)
アドバイスありがとうございます !