在这里遇到麻烦,当我有多个(%s,%s)和数据(用户,通过)或类似的东西时,它有效。
但是使用以下代码我会一直收到此错误。
query = query % tuple([db.literal(item) for item in args])
TypeError: not all arguments converted during string formatting
为什么会一直这样?只有在只有一个参数
时才会发生此代码来自我的烧瓶应用程序
username = request.values['username']
update_stmt = (
"UPDATE ACCOUNTS SET IN_USE = 1 WHERE USER = '(%s)'"
)
data = (username)
cursor.execute(update_stmt,data)
答案 0 :(得分:4)
要将单值元组识别为元组,您需要尾随,
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)