这里有问题,当我有多个 (%s,%s) 并且数据是 (user,pass) 或类似的东西时它工作。
但是,使用以下代码时,我不断收到此错误。
query = query % tuple([db.literal(item) for item in args])
TypeError: not all arguments converted during string formatting
为什么会一直这样?它仅在只有一个参数时发生
这段代码来 self 的 flask 应用
username = request.values['username']
update_stmt = (
"UPDATE ACCOUNTS SET IN_USE = 1 WHERE USER = '(%s)'"
)
data = (username)
cursor.execute(update_stmt,data)
最佳答案
要将单值元组识别为元组,您需要尾随 ,
data = (username,)
与此无关,您真的不需要在查询中引用
"UPDATE ACCOUNTS SET IN_USE = 1 WHERE USER = (%s)"
你的完整代码应该是
username = request.values['username']
update_stmt = (
"UPDATE ACCOUNTS SET IN_USE = 1 WHERE USER = (%s)"
)
data = (username,)
cursor.execute(update_stmt,data)
关于python - 字符串格式错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41590893/