mysql 开启事务

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               
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.获得为了获得最好的结果,事务应该被执行只使用通过一个简单的事务安全的存储引擎的表,否则,下面的问题可能发生

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/trigfj/article/details/83721341
今日推荐