在存储过程中使用事务时,通常会显示设置事务自动提交为0 (set autocommit=0;)这里极有可能是个坑,在同一个连接中,事务执行完或存储过程执行完后,autocommit仍为0,如果后面没有commit语句则可能导致数据丢失;对应mysql官网,没有解释很清楚 set autocommit =0 和 start transaction,是否必须结合使用,但有一句是,start transaction 有隐含的 设置autocommit为0 作用,原句为: To disable autocommit mode implicitly for a single series of statements, use the START TRANSACTION statement ,所以可以去掉set autocommit=0 ,如果非得使用时在commit和rollback 后,将 autocommit设置为1
autocommit和start transaction
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
PostgreSQL与MySQL比较
inetfuture
2018-08-27 19:31:14
重新安装MySql,提示服务启动失败
归来
2018-08-27 18:16:36
vm配置centos7web环境
大鱼大鱼吃小鱼
2018-08-27 17:51:49
Mysql 存储过程入门
大鱼大鱼吃小鱼
2018-08-27 17:51:49
mysql操作
stoneonway
2018-08-27 17:36:53
CentOS现在想知道mysql安装在了哪里,请问如何查看
stoneonway
2018-08-27 17:36:42
yum 安装环境笔记
zwhfyy
2018-08-27 16:42:34
mysql5.7 数据导入报 Error Code: 2006 - MySQL 服务器已离线错误
zwhfyy
2018-08-27 16:42:33
5.6开始的校验 checksum
低头只为等待
2018-08-27 15:55:24
[Linux基础环境/软件]Linux下安装mysql
低头只为等待
2018-08-27 15:55:22
show engine innodb statu
低头只为等待
2018-08-27 15:55:22
mysql创建触发器
阔人
2018-08-27 15:22:39