python - 字符串格式错误?

标签 python mysql

这里有问题,当我有多个 (%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/

相关文章:

python - flask 脚本文件结构

php - 基于具有空单元格的数据库创建表

python - Pandas `read_json` 函数将字符串转换为 DateTime 对象,即使指定了 `convert_dates=False` attr

javascript - Python Flask Cors 问题

python - 如何从元组列表中的字典中获取值?

mysql - Laravel - 获取用户及其角色名称

mysql - 在同一张表上错误使用连接

mysql - 在使用购物车设计数据库表方面需要一些帮助

php - 在 php mysql 中使用 Google Chart API 显示条形图

python - 使用 pexpect SCP 一个 tar 文件