Python SQL更新查询:期望的字符串或整数地址而不是实例实例

时间:2016-06-03 13:10:43

标签: python sql-server sql-update pyodbc pypyodbc

我使用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上运行它,则相同的查询有效。

2 个答案:

答案 0 :(得分:3)

问题是我在查询结束时没有添加分号。解决方案是:

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

答案 1 :(得分: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)