MySQLdb autocommit

MySQLdb 中 autocommit 默认是关闭的,下面是例子。

import MySQLdb

conn = MySQLdb.connect(host=‘127.0.0.1‘,user=‘root‘,passwd=‘131417‘,db=‘studio‘);
cursor = conn.cursor();
cursor.execute(‘select @@autocommit‘);

data = cursor.fetchone();
print data;

cursor.close();
conn.close();

返回值为 0 ;这个也一定成度上左证了,为什么一定要调用conn.commit()方法。

时间: 2024-11-07 18:46:47

MySQLdb autocommit的相关文章

MySQLdb autocommit的坑

今天写的一个小功能,里面要用MySQLdb更新数据库,语句如下 sql = "update %s.account_operation set status=1 where username='%s'" % (allResDBInfos['db'], username) 变量替换后,是下面的样子 update suspects.account_operation set status=1 where username='[email protected]' 语句没问题,数据库中也存在us

关于PooledDB使用autocommit的方法

在Python里,普通使用数据库,可以通过调用connection里的autocommit函数来设置是否打开自动更新 self._db = MySQLdb.connect(**self._db_args) self._db.autocommit(True) 但是如果使用了线程池PooledDB,则不能使用线程池返回的connection来设置,而是在创建线程池的时候来进行设置 self.__pool = PooledDB(creator=MySQLdb, mincached=1 , maxcac

【mysql】MySQLdb中的事务处理

MySQL数据库有一个自动提交事务的概念,autocommit.含义是,如果开启autocommit, 则每一个语句执行后会自动提交.即一个语句视为一个事务. 在python使用的MySQLdb中,默认是不开启autocommit的.所以,只有在显示commit后,数据库操作才会真正提交.或者在rollback()后,回滚到上一次commit的状态. 例: #!/bin/env python #coding=utf-8 import MySQLdb class MYSQL(object): de

Python MySQLdb Linux下安装笔记

本文介绍了Python MySQLdb Linux下安装笔记,本文分别讲解了快速安装和手动编译安装两种方法,并分别讲解了操作步骤,需要的朋友可以参考下 主要针对centos6.5 64位系统 默认python版本为2.6 编码安装python2.7和python3.4      一.yum快速安装 yum install MySQL-python yum install python-setuptools 经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到eas

MySQLdb

show create table users查看 INNODB MyISAM 不支持事务 错误时无法回滚 # Python DB API # 数据库连接对象 connection # cursor 使用该连接创建并返回游标 # commit 提交当前事务 # rollback 回滚当前事务 # close 关闭连接 # 数据库交互对象 cursor # 游标对象 用于执行查询和获取结果 # execute(op[,args]) 执行一个数据库查询和命令 # fetchone() 获取结果集的下

ubuntu14.04 python2.7安装MySQLdb

安装依赖: sudo apt-get install libmysqlclient-dev libmysqld-dev python-dev python-setuptools 安装MySQLdb pip install MySQL-python conn = mdb.connect(host='127.0.0.1', port=3306, user='root', passwd='root', db='test', charset='utf8') config = { 'host': '127

When to close cursors using MySQLdb

http://stackoverflow.com/questions/5669878/when-to-close-cursors-using-mysqldb I'm building a WSGI web app and I have a MySQL database. I'm using MySQLdb, which provides cursors for executing statements and getting results. What is the standard pract

python MySQLdb、socket与进线程

1 centos下 安装MySQLdb模块 a 首先需要先安装 setuptool b yum install -y mysql_devel 头文件 c yum install -y python_devel 头文件 cd MySQLdb python setup.py build python setup.py install 1.1.数据库连接 MySQLdb提供了connect方法用来和数据库建立连接,接收数个参数,返回连接对象: conn=MySQLdb.connect(host="lo

python使用MySQLdb遇到的事务问题

今天在使用MySQLdb时,发现update某一条记录后,select并没有得到更新,后来才发现是事务的问题, 我在python中操作mysql时,一直使用的是MySQLdb,而这个MySQLdb库是默认关闭自动提交事务的,也就是说,如果没有在程序中显式的设置SET AUTOCOMMIT=1 ,那对具有事务功能的表,比如引擎为innodb的表修改时,每次都要执行commit才能真正提交当前修改. 以下是我之前的设置以及查询到的AUTOCOMMIT值 import MySQLdb db = MyS