我在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 样式相同的行为( ?,? 带元组)
谢谢你的建议 !