START TRANSACTION, COMMIT, and ROLLBACK Syntax 开始事务,提交和回滚语法

那些语句提供了控制事务的使用:

1.START TRANSACTION 或者BEGIN 开始一个新的事务

2.提交当前事务,让改变永久

3.回滚 回滚当前事务,取消它的改变

4.设置autocommit  关闭或者开启

默认情况下, MySQL 运行在autocommit 启用,这意味你 你执行一个语句 更新修改表,

MySQL 存储更新到磁盘让它永久,改变不能被回滚。

禁用自动提交模式隐含的对于一些列的语句,使用 START TRANSACTION statement:

START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1;
UPDATE table2 SET summary=@A WHERE type=1;
COMMIT; START TRANSACTION,autocommit 保持disabled 知道你结束事务使用COMMIT或者ROLLBACK. 自动提交模式然后恢复到之前的状态 START TRANSACTION 允许几个修改器控制事务特性,指定多个修饰符,用逗号分开。 具有一致性快照修饰符开始一个一致性读 对于存储引擎,这个应用只用于InnoDB. 影响是和执行一个 START TRANSACTION 跟着一个SELECT 语句。 See Section 15.5.2.3, “Consistent Nonlocking Reads”. 一致性快照修饰符不会改变当前的事务隔离级别,因此它提供了一致性快照只是当前的事务隔离级别 是允许一个一致性读。 唯一一个事务隔离允许一个一致性读 是 REPEATABLE READ. 对于其他隔离级别,the WITH CONSISTENT SNAPSHOT clause is ignored READ WRITE and READ ONLY modifiers设置事务访问模式。 它们允许或者阻止对表的改变 在是物理。 READ ONLY 限定 阻止事务修改或者锁定事务和非事务表 MySQL 让额外的优化对于InnoDB表的查询 当事务是只读时。 指定 READ ONLY确保 那些优化器是被应用 在只读状态不能被自动确认 如果没有指定访问模式,默认模式被应用。除非默认的已经被改变,它是 read/write. 它是不允许指定在 READ WRITE and READ ONLY 在相同的语句 在只读模式下,它仍旧可能改变使用DML语句创建的TEMPORARY 表 DDL的改变是不允许的,就像对永久表。 重要: 很多APIs 用于写MYSQL 客户端应用(比如JDBC)提供它们自己的方法用于开始事务可以代替 START TRANSACTION statement 关闭自动提交模式,使用下面的语句: SET autocommit=0; 在禁用自动提交模式通过设置autocommit variable to zero, 改变事务安全表不是立即永久的,你必须使用COMMIT来存储改变到磁盘或者回滚忽略改变。 autocommit 是一个session变量和必须设置对于每个回话,禁用autocommit 模式对于每个新的连接 BEGIN and BEGIN WORK 是被支持作为START TRANSACTION 的别名, START TRANSACTION 是一个标准SQL语法,是推荐方式开始一个ad-hoc事务,允许修改 可选择的WORK 关键字是支持的对于COMMIT 和ROLLBACK ,因为是CHAIN和RELEASE 子句。 CHAN和RELEASE 可以用于额外的控制事务完成。 开始一个事务导致任何挂起的事务被提交 开始一个事务也会导致table locks 通过 LOCK TABLES 被释放,就像你执行UNLOCK TABLES一样。 开始一个事务不会释放一个全局读锁 通过FLUSH TABLES WITH READ LOCK.获得 为了获得最好的结果,事务应该被执行只使用通过一个简单的事务安全的存储引擎的表,否则,下面的问题可能发生

mysql 开启事务的更多相关文章

  1. NodeJs mysql 开启事务

    如题:node后台使用mysql数据库,并使用事务来管理数据库操作. 这里主要讲一个事务的封装并写了一个INSERT 插入操作. code: 基础code: db.config.js const my ...

  2. MySql开启事务

    CREATE PROCEDURE test_sp1( ) BEGIN ; ; START TRANSACTION; INSERT INTO test VALUES(NULL, 'test sql 00 ...

  3. [原创]MySQL RR隔离级别下begin或start transaction开启事务后的可重复读?

    Server version:         5.6.21-log MySQL Community Server (GPL) 前提提要: 我们知道MySQL的RR(repeatable read)隔 ...

  4. Node后台使用mysql并开启事务

    如题:node后台使用mysql数据库,并使用事务来管理数据库操作. 这里主要讲一个事务的封装并写了一个INSERT 插入操作. code: 基础code: db.config.js const my ...

  5. 事务的隔离级别,mysql中开启事务、django中开启事务

    目录 一.事务的特性 二.数据库中开启事务 三.Django中开启事务的两种方式 第一种 第二种 四.事务的隔离级别 隔离级别 如何查看mysql隔离级别? 修改事务的隔离级别 隔离级别解释 read ...

  6. MySql - InnoDB - 事务 , Php版

    (出处:http://www.cnblogs.com/linguanh/) 1,前序 由于要重构APP(社交类) 服务端接口的部分代码,故接触到了 innoDB,以及事务这个词,下面主要是以例子的形式 ...

  7. MySQL 数据库事务与复制

    好久没有写技术文章了,因为一直在思考 「后端分布式」这个系列到底怎么写才合适. 最近基本想清楚了,「后端分布式」包括「分布式存储」和 「分布式计算」两大类. 结合实际工作中碰到的问题,以寻找答案的方式 ...

  8. 开启事务时mybatis返回主键id

    先说一下没有注解的 先给出实体类: public class City { private int city_id; private String city_name; public int getC ...

  9. mysql开启binlog

    mysql开启binlog,至于为什么要开启binlog,可以google下. ## 设置server_id,一般设置为IP server_id= ## 复制过滤:需要备份的数据库名,多个库以逗号分隔 ...

随机推荐

  1. MSP430F149模拟IIC读写24C02程序

    板子上设置了EEPROM存储器,型号为AT24C02.板子的硬件连接为:SCL--->P2.4,SDA--->P2.5.直接了当,贴上程序! ======================= ...

  2. Qt中一些常用的格式转换

    转自:http://blog.csdn.NET/yh_1988/article/details/7190356 用Qt经常头痛于一些格式不能通用的问题 在此记录备用 1 (20120112)QStri ...

  3. 剑指offer-面试题16.反转链表

    题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的头结点 链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; } 其实 ...

  4. mongoDB 在windows平台下安装成系统服务

    1,用如截图所示命令将mongoDB安装成windows系统服务,byRuiy Tips[Note,logpath and dbpath根据你命令行指导的路径,这些目录一定要已经创建]

  5. Oracle学习笔记(2)——过程和函数

    过程和函数统称为PL/SQL子程序,通过输入.输出参数或输入/输出参数与其调用者交换信息.他们是被命名的PL/SQL块,被编译后存储在数据库中,以备执行.因此,可以在数据库中直接按名称使用它们. 1. ...

  6. javascript 判断系统设备

    <script> function detectOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.pl ...

  7. apache启动问题: Could not reliably determine the server's fully qualified domain name

    [root@rusky]# service httpd startStarting httpd: httpd: apr_sockaddr_info_get() failed for ruskyhttp ...

  8. 项目总结之SSI (一)

    这是我进公司之后做的第一个新项目,从无到有. 去年夏天和同事在会议室里度过的日子还恍如昨日啊,时光啊,你慢些走... 作为一个外部项目,美工设计了一个Win8风格的界面,看到现在做前台的同学做的一样是 ...

  9. 让资源可以下载a

    第一种方式------不存在任何兼容性 <a href='x.zip'>下载</a> 将要链接的资源进行打包即可 第二种方式----存在兼容性,目前只有Chrome 和Fire ...

  10. (原创) C# List 找 Max 的 Index

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...