-
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.获得
-
-
-
为了获得最好的结果,事务应该被执行只使用通过一个简单的事务安全的存储引擎的表,否则,下面的问题可能发生
SQL:mysql 开启事务
最新推荐文章于 2025-03-08 16:28:12 发布