python 版本的mysql connector 的commit
来源:互联网 发布:网络预警包括 编辑:程序博客网 时间:2024/05/01 01:56
做了一个测试:
在python中利用mysql connector 连接数据库insert
测试表明在execute后,insert 的数据已经进入了mysql,但是如果最后没有commit 的话已经进入数据库的数据会被清除掉,自动回滚
这点是可以通过数据库中的自增id来看出来的。
但是这种commit方案导致了自增id的非连续性,在某些时候是真心的有问题
原本id是4,多次insert 然后没有commit,再insert 后commit 的话,这个ID就不是5了,远远大于5!
出现这一问题的根源到底是connector还是mysql本身呢?
python 下的另外一个数据库连接类mysqldb会不会存在同样的情形!
ps,做了一下补充测试。commit 只是对于innodb生效,而对于myisam 来说,只要execute就一定生效了,这就需要综合考虑在做数据连接层设计的时候是否需要把trans的控制独立出来可控,然后在编码层面可以更灵活的控制数据库的操作(多次Exce,最后才commit)!
这个问题之前是没有注意过的
补充之二,之前在php操作mysql的时候,没有太注意这个问题,虽然有利用到trans,但是应该不是所有的地方都开启了trans,是我的php版本的mysql操作自动做了某些操作还是?当然connector 的说明说得很清楚,autocommit被关闭了!从事务角度和数据库性能操作的角度来讲autocommit 确实应该被关闭!那就是说有可能我之前的php版本的mysql操作层在某个地方开启了autocommit,还是说作为一个配置在innodb上被打开了?
无限补充三: 在execute 一些select 后,如果不调用fetcchxxx 之类的语法,就去执行insert 或者update 或者其他语句,有的时候会出错:Unread result found.(存在未读取的数据集)。不论是不是真的有数据(忍不住吐糟一下:度娘查不出"unread result found"资料啊! 度娘你不懂英文啊!)
- python 版本的mysql connector 的commit
- python mysql-connector的安装和使用
- windows安装python的mysql驱动mysql-connector-python
- MySql Connector-Net 所有版本的下载地址
- 使用MySQL Connector 6+ 版本需要注意的一些问题
- MYSQL Connector/ODBC [Mysql ODBC驱动版本的 ANSI 和 UNICODE两个版本的区别]
- 问题: 安装MySQL-connector-python中遇到的问题
- MySQL connector/C++的用法
- OFBiz用MySQL时mysql-connector-java版本不对的解决办法
- MySQL官方文档推荐的一个Python连接MySQL的方法—mysql.connector
- MySQL Connector/Python
- mysql-connector-python安装
- Python:安装MYSQL Connector
- 【python】mysql connector
- MongoDB Hadoop Connector的1.0版本
- Oracle官方网站的 MySQL connector,ODBC driver,所有版本jdk下载地址
- python安装mysql-connector-python
- MYSQL的COMMIT和ROLLBACK
- 对SAP用户出口的理解
- menuconfig
- 运算符的优先级别
- 摄像头原理
- 霏霏秋雨绵绵情
- python 版本的mysql connector 的commit
- fedora 17 xfce 安装libreoffice
- Android 70道面试题汇总不再愁面试
- <input>中给value属性动态赋值
- 字符串每个单词的反转.cpp
- CRF条件随机场简介
- 中国银行正式发布回收硬币价格表
- centOS防火墙中端口的开启和关闭
- tomcat:display-name,作用是登录到tomcat管理页面可以看到显示名字