Python SQL 更新查询:需要字符串或整数地址,而不是实例实例



我使用 Python 2.7 和 pypyodbc 来运行 SQL 查询,但每当我使用 python 运行更新查询时,

cursor.execute("UPDATE tbl_User SET gender = ? WHERE id = 1", ['male'])

我收到错误:

TypeError: string or integer address expected instead of instance instance

如果我直接在 SQL Server 上运行它,同样的查询也有效。

问题是我没有在查询末尾放置分号。解决方案是:

cursor.execute("UPDATE tbl_User SET gender = ? WHERE id = 1;", ['male'])

怎么样:

gender = 'male'
cursor.execute("UPDATE tbl_User SET gender = {:s} WHERE id = 1".format(gender))

还要确保 sqlite 的 python 版本和 SQL Server 使用的 python 版本相同。对于蟒蛇的一种类型:

import sqlite3
print(sqlite3.sqlite_version)

相关内容

  • 没有找到相关文章

最新更新