3

我使用 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 上运行相同的查询,它会起作用。

4

2 回答 2

3

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

cursor.execute("UPDATE tbl_User SET gender = ? WHERE id = 1;", ['male'])
于 2016-06-03T13:48:22.467 回答
0

那个怎么样:

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)
于 2016-06-03T13:20:40.897 回答