我需要时不时地动态更改表和变量,所以我写了一个像这样的python方法:
selectQ ="""SELECT * FROM %s WHERE %s = %s;"""
self.db.execute(selectQ,(self.table,self.columnSpecName,idKey,))
return self.db.store_result()
然而,这会导致语法错误异常。我尝试调试它,所以我打印了方法中的变量并手动填充它们,这有效。所以我不确定我做错了什么?
是因为我尝试使用桌子的替代品吗?
另外,如何调试 mysqldb 以便将替换的查询打印为字符串?
DB API 中的参数替换仅适用于值,不适用于表或字段。您需要对这些使用正常的字符串替换:
selectQ ="""SELECT * FROM %s WHERE %s = %%s;""" % (self.table,self.columnSpecName)
self.db.execute(selectQ,(idKey,))
return self.db.store_result()
请注意,值占位符有一个双精度数%
- 这样,初始字符串替换就不会影响它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)