使用python odbc游标更新查询-不工作

使用python odbc游标更新查询-不工作,python,pyodbc,pypyodbc,Python,Pyodbc,Pypyodbc,我使用以下代码段执行此查询: cursor2.execute("UPDATE datatable SET data1 = ?, data2 = ?, data3 = ? WHERE id = ?",[d1,d2,d3,i]) print("affected rows = {}".format(cursor2.rowcount)) 受影响的行返回1,但数据库中的行未更新 打印d1、d2、d3很好,只是数据库中的更新不起作用 功能有问题吗 其他: 我试着这样

我使用以下代码段执行此查询:

cursor2.execute("UPDATE datatable SET data1 = ?, data2 = ?, data3 = ? WHERE id = ?",[d1,d2,d3,i])
print("affected rows = {}".format(cursor2.rowcount))
受影响的行返回1,但数据库中的行未更新

打印
d1、d2、d3
很好,只是数据库中的更新不起作用

功能有问题吗

其他:

我试着这样做:

sql_update_query = """UPDATE datatable SET data1 = %s, data2 = %s, data3 = %s WHERE id = %s"""
inputData = (d1,d2,d3,i)
cursor2.execute(sql_update_query, inputData)
但它重演了这个错误:

('HY000', 'The SQL contains 0 parameter markers, but 4 parameters were supplied')

谢谢您的帮助。

看起来您缺少
.commit()

Ex:

cursor2.execute("UPDATE datatable SET data1 = ?, data2 = ?, data3 = ? WHERE id = ?",(d1,d2,d3,i))
cursor2.commit()

您可能需要在某个地方发出
commit
。看见