Python 的 MySQLdb 模块的 autocommit

刘悦 at 
最初在使用 python 读写数据库的时候,发现 select 语句可以读取到数据,insert 语句执行后,数据库中却没有数据。将 sql 语句在 mysql 命令行直接执行是完全没有问题的,为什么使用 MySQLdb 执行 insert 语句会没有数据呢?看起来像是没有提交,立刻想到了 mysql 的 autocommit,是不是没有提交事务?想到后立刻进行了验证,在执行 insert 语句后,又加了一行程序提交事务:connection.commit()。果然,insert 语句生效了,数据库中有了数据。为了进一步证实 MySQLdb 模块会将 autocommit 功能关闭,看了 my……