您的位置:首页 > 编程语言 > Python开发

Python2.7+mysqlDB+mysql5.5.x更新操作无法正常刷新到服务器的问题

2012-04-10 16:00 387 查看
开始在使用python和mysqldb操作mysql5.0.x系列的数据库服务器的时候,只要数据库服务器端把autocommit属性设置为1的话,在使用mysqldb创建连接的时候就把这条连接默认为开启事务模式了,把每条更新sql语句当做了一条事务,可以完全正确地使用代码,插入---查询,然后使用客户端查看服务器,确实更新到了数据库服务器中;
但是当使用mysql5.5.x的时候,使用代码就默认是关闭了事务模式,如果不显示设置autocommit为1或者显示使用commit/rollback提交则不会正确更新到服务器中。使用代码插入---查询没有问题,但是使用另一条连接连接服务器查看,没有更新到服务器中。
这样看来,在mysql5.5.x版本服务器中,将mysqldb创建的连接默认为关闭事务模式。这样或许更科学,因为这样的话就可以把这条连接做得和使用客户端连接更相似了(尽管客户端本身也是一条数据库连接而已)。可以把使用客户端和使用代码几乎完全等同。使用代码设置autocommit属性就相当于使用客户端将autocommit的variable_value设置为ON。同样使用starttransaction/commit/rollback语句效果是等价的。只是使用代码的时候如果想设置为开启事务模式的话,必须在每次创建连接的时候设置autocommit属性,否则就是默认关闭事务模式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐