文档章节

mysql关闭autocommit带来的坑

messud4312
 messud4312
发布于 2015/05/21 18:01
字数 245
阅读 3359
收藏 0
点赞 0
评论 0

我们打开两个mysql client,首先关闭autocommit。然后分别同时按照从上到下执行,每条语句后面都标上了执行顺序。

mysql> set autocommit = 0;  #1         │mysql> set autocommit = 0;  #2
Query OK, 0 rows affected (0.00 sec)   │Query OK, 0 rows affected (0.00 sec)
                                       │
mysql> insert into user values ("Stupid│mysql> select * from user;  #4
 ET");   #3                            │Empty set (0.00 sec)
Query OK, 1 row affected (0.03 sec)    │
                                       │mysql>
mysql> commit; #5                      │mysql>
Query OK, 0 rows affected (0.02 sec)   │mysql>
                                       │mysql>
mysql> select * from user where name = │mysql> select * from user where name =
"Stupid ET";  #6                       │ "Stupid ET";  #7
+-----------+                          │Empty set (0.00 sec)
| name      |                          │
+-----------+                          │mysql>
| Stupid ET |                          │
+-----------+                          │
1 row in set (0.00 sec)                │

可以看到右边的client里面是查不到新加入的name为”Stupid ET”的用户。

因为在执行#4这条命令的时候,导致右边的client自动进入了一个事务了,而此时数据库是没有的name为”Stupid ET”这个用户的。所以就导致即使数据库里面存在name为”Stupid ET”的记录,右边的client也查不到。


© 著作权归作者所有

共有 人打赏支持
messud4312
粉丝 5
博文 124
码字总数 100476
作品 0
海淀
后端工程师
基于binlog的mysql数据恢复

使用了python-mysql-replication 这个库做mysql数据库的恢复.插桩测试中准备数据.由于是多系统交互,业务较为复杂,所以模拟操作,然后抽取数据流动变化,记录下来.下次直接操作数据库,达到快速新...

豆泥碗 ⋅ 2014/02/21 ⋅ 0

MySQL事务autocommit自动提交设置

MySQL提交模式 MySQL默认操作模式是 autocommit 自动提交模式。此模式下,除非显式的声明使用事务,即: 开始一个事务,否则每个操作都将被当做一个单独的事务自动提交。 MySQL提交模式查询与...

前世疯狂 ⋅ 03/23 ⋅ 0

mysql start transaction 和 set autocommit = 0 的区别

1、set autocommit = 0 关闭当前会话中事务的自动提交,需要手动 commit 或者 rollback,相当于开启一个全局的事务。在 mysql 的事务中,默认 autocommit = 1,每一次 sql 操作都被认为是一个...

big_cat ⋅ 2016/11/10 ⋅ 0

【整理】MySQL 之 autocommit

mysql 默认是开启 auto commit 的。可以通过如下命令查看 session 级别和 global 级别的设置: mysql> select @@session.autocommit;+----------------------+| @@session.autocommit |+----......

摩云飞 ⋅ 2013/10/18 ⋅ 0

Mybatis 如何使用 Mysql 悲观锁,求解答?

项目框架使用的是:Mybatis + Spring +SpringMVC ,数据库是:Mysql , 之前遇到一个问题就是,俩用户同时修改同一条数据,结果数据给弄乱了,目前使用的乐观锁来控制的。 公司想用悲观锁来处...

被占用 ⋅ 2015/01/20 ⋅ 4

Lock wait timeout exceeded; try restarting tran...

mysql出现:Lock wait timeout exceeded; try restarting transaction 什么问题导致的呢?绝对是程序的问题,因为另一个线程锁住了表或者记录导致后来到请求无法完成。 如何产生的: 表A 存储...

SANSOM ⋅ 2013/04/17 ⋅ 0

mysql中autocommit与sql回滚的关系

今天群里有人问了一个mysql中sql执行出错是否会回滚的问题。第一个感觉这个答案应该和autocommit有关。 首先交代下背景,问题复现一下: 执行sql: root@wlb 12:48:30>update wlbschedule02...

王小明123 ⋅ 2012/08/16 ⋅ 0

(MYSQL学习笔记4)事务的开启、提交、回滚

使用事务要注意以下三点: 1、在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。 2、事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行...

w1sw ⋅ 2017/07/04 ⋅ 0

Python 的 MySQLdb 模块插入数据没有成功与 autocommit(自动提交)的关系

欢迎大家访问我自己架的博客站点 码厩技术博客 (Now:码厩 http://www.markjour.com/)! 用 MySQLdb 操作数据库,插入数据之后发现数据库中依然为空,不知原因为何。 开启 mysqld 的 log ...

catroll ⋅ 2013/08/30 ⋅ 2

悲观锁总结和实践

最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系...

真爱2015 ⋅ 2016/01/07 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部