我在sqlite(pythonsqlite3)中的一个非常简单的查询有一个奇怪的行为
这是一个有效的查询
cursor = self.con.cursor()
cursor.execute("SELECT * FROM vpro1 ORDER BY :orderby DESC LIMIT 1", {"table": "vpro1", "orderby": self.unit_timestamp})
但这一次给了我一个错误
^{pr2}$例外情况是
sqlite3.OperationalError: near ":table": syntax error
因此,当我尝试使用qmark作为表名时,它会抛出一个错误,如果我在查询中硬编码它,它就起作用了:orderby可以使用我使用的任何东西(qmark,hardcoded,named)。。。与qmark样式的行为相同(?)?,? 带元组)
谢谢你的建议!在
不能使用DB API来完成表名。我不知道这是什么原因,但我以前也遇到过同样的问题。它在SQLite或MySQL中不起作用,可能还有其他的。在
有关解决方法,请参见Donald Miner对另一个问题的回答。在
然后将其作为格式字符串传入。在
^{pr2}$相关问题 更多 >
编程相关推荐