cursor.execute("UPDATE account SET job_title=%s, city=%s, experience=%s WHERE username=%s", (job_title, city, experience))报错MySQLdb._exceptions.ProgrammingError: not enough arguments for format string
时间: 2024-02-06 07:09:01 浏览: 120
mysql错误信息
3星 · 编辑精心推荐
这个错误通常是因为你的参数数量与 SQL 语句中占位符的数量不匹配。
请检查你的 SQL 语句中是否有足够的占位符,确保你的参数数量与占位符数量相同。
如果你的 SQL 语句中有多个占位符,请确认它们的顺序是否正确,与你传递给 `execute()` 方法的参数顺序相同。
另外,你可以使用 `%r` 打印出完整的 SQL 语句和参数,以便更好地调试问题。例如:
```
sql = "UPDATE account SET job_title=%s, city=%s, experience=%s WHERE username=%s"
params = (job_title, city, experience)
print(sql % params)
cursor.execute(sql, params)
```
这将打印出完整的 SQL 语句和参数,帮助你更好地理解问题所在。
阅读全文