背景
执行以下python3语句,发现execute返回值为1,说明有影响的行为1,即更新成功?
import pymysql
connection = pymysql.connect(host='x.x.x.x',
user='123',
password='456,
db='xx',
cursorclass=pymysql.cursors.DictCursor)
sql = 'update xxxx set task_key=123 where id=336'
cursor = connection.cursor()
result = cursor.execute(sql)
//cursor.execute('set autocommit=1')
print(result)
原因
并不是,从pymysql git使用文档可以知道原因:
即pymysql 建立的连接默认是不设置autocommit,即默认不自动提交,必须手动commit,否则自动rollback。