`

Mysql 自动提交

阅读更多
进入到新的一家公司后, 发现大家在mysql客户端上执行sql都不写commit,大家都习惯了这种写法,有一天来了另外一个DBA,环境变了,一早上update一个sql,大家发现怎么表被锁住了呢?

后天一发现,新的DBA,把autocommit给关掉了,查看的sql如下:

show variables like 'autocommit';


输出结果如下;

autocommit	OFF


这样的后果有三种:

1. 如果是自己update一条语句后没有提交,再select同样的记录,那么会被锁住

因为在同一个session里,如果update没有提交,再select同样的记录,这样记录会被锁住。

2. 如果是自己update一条语句后没有提交,其它人select会发现旧的记录。
不在同一个session里,别人select的结果是旧的值,这个与事务的隔离级别有关系。

查看事务的隔离级别的命令如下:

select @@global.tx_isolation,@@tx_isolation;


3.  如果是自己update一条语句后没有提交,有它人update同记录会被锁住。

这个与在同一个session里的select情况是一样的。

之前在Oracle工作,一直都是坚持在update语句后commit,个人还是觉得这种习惯好。

分享到:
评论

相关推荐

    MySql自动备份,自动压缩,自动删除历史

    rem 采用--single-transaction保证备份的一致性,实际上设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(dump)时,不会看到其他会话已经提交了的数据。 rem 压缩备份的数据库文件,windows自带压缩到...

    MySql示例4:关闭自动提交.zip

    MySql示例4:关闭自动提交.zip,MySql示例4:关闭自动提交.zip,MySql示例4:关闭自动提交.zip

    MySQL控制(关闭、打开)自动提交功能

    但是,如果存储引擎为InnoDB 时,当执行了START TRANSACTION或BEGIN命令(MySQL事务处理-删除后回滚)后,将不会自动提交了,只有明确执行了COMMIT命令后才会被提交,在这之前可以执行ROLLBACK 命令回滚更新操作。...

    jquery php+mysql 表格双击可编辑,表单失去焦点自动提交保存数据

    jquery php+mysql 表格双击可编辑,表单失去焦点自动提交保存数据,很实用!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    MYSQL

    5.6 怎样处理没有提交/回卷(COMMIT / ROLLBACK) 6 MySQL 存取权限系统 6.1 权限系统做什么 6.2 MySQL用户名和口令 6.3 与MySQL服务器连接 6.4 使你的口令安全 6.5 MySQL 提供的权限 ...

    MySQL中文参考手册.chm

    5.6 怎样处理没有提交/回卷(COMMIT / ROLLBACK) 6 MySQL 存取权限系统 6.1 权限系统做什么 6.2 MySQL用户名和口令 6.3 与MySQL服务器连接 6.4 使你的口令安全 6.5 MySQL 提供的...

    java mysql 在线考试提交系统

    提交作业、查看成绩。 批阅作业、系统自动批改、老师 手动批改、打分 师生交流、 留言和回复。 角色:分为学生、教师、管理员 登录、注册 用户管理 题目管理 布置作业、单选 多选 判断 解答 上传图片。 提交作业、...

    POSTJSON支持ACCESS、Mysql、Mssql自动生成JSON,提交到服务器接口,自定义发送数据sql和服务器接收地址

    POSTJSON支持ACCESS、Mysql、Mssql自动生成JSON,提交到服务器接口,自定义发送数据sql和服务器接收地址,是单机数据库向服务器提交汇总工具,定时提交开发中。

    MySQL中文参考手册

    + 4.15.3 自动启动和停止 MySQL + 4.15.4 选项文件 o 4.16 升级和降级(downgrading)时有什么特别要做的事情吗? + 4.16.1 从一个 3.22 版本升级到 3.23 + 4.16.2 从一个 3.21 版本升级到 3.22 + 4.16.3 从...

    MySQL 5.1中文手冊

    2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动...

    mysql 事务处理及表锁定深入简析

    1、用begin,rollback,commit来实现 begin 开始一个事务 rollback 事务回滚 commit 事务确认 2、直接用set来改变mysql的自动提交模式 MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过 ...

    mysql5.1中文手册

    用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10...

    MySQL 5.1官方简体中文参考手册

    2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动...

    MySQL 5.1参考手册

    2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动...

    MySQL 5.1参考手册中文版

    2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次...

    mySQL事务处理

    // 设置连接不自动提交,即用该连接进行的操作都不更新到数据库 sm = con.createStatement(); // 创建Statement对象 //依次执行传入的SQL语句 for (int i = 0; i ; i++) { sm.execute(sqls[i]);// 执行...

    MySQL 5.1参考手册 (中文版)

    2.3.3. 用自动安装器安装MySQL 2.3.4. 使用MySQL安装向导 2.3.5. 使用配置向导 2.3.6. 通过非安装Zip文件安装MySQL 2.3.7. 提取安装档案文件 2.3.8. 创建选项文件 2.3.9. 选择MySQL服务器类型 2.3.10. 首次启动...

    mysql数据库my.cnf配置文件

    # 0:如果innodb_flush_log_at_trx_commit的值为0,log buffer每秒就会被刷写日志文件到磁盘,提交事务的时候不做任何操作(执行是由mysql的master thread线程来执行的。 # 主线程中每秒会将重做日志缓冲写入磁盘的...

    基于SSM+mysql的网络作业提交与批改系统设计与实现(源码+设计文档+部署说明+视频演示).zip

    资源名字:基于SSM+mysql的网络作业提交与批改系统设计与实现(源码+设计文档+部署说明+视频演示).zip 资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 基于SSM+...

Global site tag (gtag.js) - Google Analytics