SQL 更新失败 - pyodbc - informix
通过一个使用pyodbc的Python脚本对informix数据库进行更新时,更新操作没有任何提示地失败了。
我使用了pyodbc维基上提供的语法,并尝试了手动提交和自动提交。
cursor= conn.cursor()
cursor.execute("update eqpt set notes='BOB' where serialno='SAM'")
conn.commit()
conn.close()
我也在pyodbc的讨论组里发了这个问题,但很遗憾没有得到回复。
1 个回答
1
两个想法:
检查有多少条记录被改变了(这个信息可以通过
execute()
得到),以及应该改变多少条记录(可以用SELECT count(*) ... WHERE...
来查询):cursor= conn.cursor() rs = c.execute("SELECT count(*) FROM eqpt WHERE serialno='SAM'") for txt in c.fetchall(): print('before %s' % (txt[0])) rows_affected = cursor.execute("update eqpt set notes='BOB' where serialno='SAM'") print('rows_affected: %d' % (rows_affected)) rs = c.execute("SELECT count(*) FROM eqpt WHERE serialno='SAM'") for txt in c.fetchall(): print('after %s' % (txt[0])) conn.commit() conn.close()
你可以开启 ODBC 跟踪,查看 ODBC 驱动返回了什么信息。