进入到新的一家公司后, 发现大家在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,个人还是觉得这种习惯好。
分享到:
相关推荐
**隐式提交**是指在没有显式使用`COMMIT`命令的情况下,MySQL自动提交当前事务的行为。这种行为可能会导致预期之外的数据变更,尤其是在使用自动提交模式时更需注意。 #### 三、触发隐式提交的操作 根据提供的部分...
Mysql 自动提交是指 Mysql 数据库在执行每条 SQL 语句后自动提交事务的功能。自动提交可以提高数据库的性能,但是它也会增加数据添加的时间。在本文中,我们使用 SET AUTOCOMMIT = 0; 语句来关闭自动提交,从而提高...
【MySQL作业提交作业批改系统】是一个针对教育领域设计的在线平台,旨在简化教师作业布置与学生作业提交的过程,并实现自动或半自动的作业批改功能。该系统基于Web技术,采用B/S(Browser/Server)架构,用户通过...
本示例将深入讲解如何在MySQL中关闭自动提交模式。 1. **自动提交模式**: 默认情况下,MySQL处于自动提交模式,即每个SQL语句都会作为一个独立的事务处理。这意味着一旦执行了INSERT、UPDATE或DELETE等改变数据的...
rem 采用--single-transaction保证备份的一致性,实际上设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(dump)时,不会看到其他会话已经提交了的数据。 rem 压缩备份的数据库文件,windows自带压缩到...
本篇文章将深入探讨如何使用JDBC设置事务的自动提交模式,以及它的工作原理和重要性。 首先,理解事务的基本概念至关重要。事务是数据库执行的一组操作,这些操作要么全部完成,要么全部不完成,即遵循ACID(原子性...
但是,如果存储引擎为InnoDB 时,当执行了START TRANSACTION或BEGIN命令(MySQL事务处理-删除后回滚)后,将不会自动提交了,只有明确执行了COMMIT命令后才会被提交,在这之前可以执行ROLLBACK 命令回滚更新操作。...
这个命令会发送一个优雅的关闭请求给MySQL服务器,使其能够保存所有未提交的事务并安全关闭。 在实际使用中,你可能还需要配置MySQL的一些高级选项,例如设置root用户的密码、调整内存使用量、更改默认字符集等。...
在"易语言mysql自动服务器"项目中,我们主要关注的是如何利用易语言来构建一个MySQL数据库的自动服务器系统。这个系统的核心功能包括与MySQL数据库的交互,如置句柄及记录集、取回记录集、取回句柄、显示数据、初始...
MySQL容灾及自动化切换是确保数据库服务高可用性和数据安全的关键技术。在互联网应用中,由于服务器硬件故障、网络问题或软件错误,数据库可能会出现故障,因此需要建立有效的容灾策略来防止数据丢失并尽快恢复服务...
"jquery php+mysql 表格双击可编辑,表单失去焦点自动提交保存数据"是一个典型的例子,展示了如何结合前端技术和后端技术实现高效的数据管理。以下是这个项目涉及的关键知识点: 1. **jQuery**:jQuery是一个强大的...
在办公自动化管理系统中,MySQL用于存储用户信息、任务数据、审批流程等关键业务数据。 《PHP项目开发全程实录》这本书中的"php+mysql办公自动化管理系统"实例,可能会涵盖以下知识点: 1. **数据库设计**:包括表...
1. **MySQL自动备份** - **定时任务调度器**:在Linux环境下,可以使用`cron`定时任务来执行MySQL的备份脚本,按照设定的时间点自动进行全量或增量备份。 - **备份类型**:全量备份通常包含所有数据库或选定数据库...
5.6 怎样处理没有提交/回卷(COMMIT / ROLLBACK) 6 MySQL 存取权限系统 6.1 权限系统做什么 6.2 MySQL用户名和口令 6.3 与MySQL服务器连接 6.4 使你的口令安全 6.5 MySQL 提供的权限 ...
3. **事务处理**:SQLite默认开启自动提交,而MySQL需要手动开启和提交事务,转换过程中需要注意这一点。 4. **索引和约束**:在MySQL中创建索引和外键约束可能需要额外的语法调整。 5. **性能优化**:MySQL提供...
【标题】"Linux下httpd+mysql+php自动安装脚本"所涉及的知识点主要集中在构建LAMP(Linux + Apache + MySQL + PHP)服务器环境上。LAMP是互联网上最常用的开源Web服务堆栈,尤其在Linux系统中,它为开发和运行动态...
- 对于需要确保原子性和一致性的多个数据库操作,MySQLHelper类通常会提供开始事务、提交事务和回滚事务的方法。通过这些方法,开发者可以在一组操作中控制事务,保证数据的一致性。 5. **批处理操作**: - 在...
标题所指的"根据excel数据批量新增或更新mysql的表"是一个常见的需求,特别是在数据分析、数据导入导出或者自动化报表生成等场景。 首先,我们需要了解涉及的主要工具和概念。`MySQL`是一款广泛使用的开源关系型...
// 关闭自动提交 try { // 执行SQL操作 conn.commit(); // 提交事务 } catch (Exception e) { conn.rollback(); // 回滚事务 } ``` 6. **连接池**:在大型应用中,通常会使用连接池(如C3P0、HikariCP或...