10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 41.6 mb
PDF (A4)- 41.7 mb
手册页(TGZ)- 262.1 kb
手册页(邮政编码)- 372.2 kb
信息(Gzip)- 4.0 mb
信息(邮政编码)- 4.0 mb
本手册摘录

15.7.2.2自动提交,提交和回滚

InnoDB,所有用户活动发生在一个事务中。如果自动提交启用模式,每个SQL语句形式一个事务。默认情况下,每个新连接MySQL开始会话自动提交启用,所以MySQL并提交后如果每个SQL语句声明没有返回一个错误。如果语句返回一个错误,提交或回滚的行为取决于错误。看到部分15.21.5,“InnoDB错误处理”

一个会话,自动提交可以执行多个语句事务开始启用一个显式的开始事务开始声明和结束它提交回滚声明。看到13.3.1部分,“启动事务,提交和回滚语句”

如果自动提交在一个会话与模式是禁用的设置自动提交= 0,会话事务总是打开。一个提交回滚语句结束当前事务和一个新的开始。

如果一个会话自动提交残疾人没有明确承诺结束最后的事务,MySQL回滚该事务。

一些语句含蓄地结束一个事务,如果你做了一个提交在执行该语句。有关详细信息,请参见13.3.3部分,“导致一个隐式声明提交”

一个提交意味着在当前事务中所做的更改对其他会话都是永久的,成为可见。一个回滚声明中,另一方面,取消所有的修改由当前事务。这两个提交回滚释放所有InnoDB在当前事务锁。

分组DML操作和事务

默认情况下,连接到MySQL服务器开始自动提交自动模式下启用,提交你的每个SQL语句执行它。这种模式的操作可能是不熟悉的如果你有经验与其他数据库系统,它是一系列标准的实践问题DML语句和提交或回滚。

使用多个语句交易,关闭自动提交SQL语句设置自动提交= 0和结束每笔交易提交回滚是合适的。离开自动提交,开始每个事务开始事务和结束它提交回滚。下面的例子显示了两个事务。第一个承诺;第二个是回滚。

壳> mysql测试
mysql >创建表customer (INT、CHAR(20),指数(a));查询好,0行影响(0.00秒)mysql >——开启自动提交事务。mysql >开始交易;查询好,影响(0.00秒)mysql > 0行插入客户价值(10 '海基');查询好了,1行影响(0.00秒)mysql >提交;查询好,0行影响(0.00秒)mysql >——另一个事务处理自动提交电话断了mysql >设置自动提交= 0;查询好,影响(0.00秒)mysql > 0行插入客户价值(15,“约翰”);查询好了,1行影响(0.00秒)mysql >插入客户价值(20,“保罗”);查询好了,1行影响(0.00秒)mysql >删除从客户b =“海基”;查询好了,1行影响(0.00秒)mysql >——现在我们撤销最后2插入和删除。 mysql> ROLLBACK; Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM customer; +------+--------+ | a | b | +------+--------+ | 10 | Heikki | +------+--------+ 1 row in set (0.00 sec) mysql>
交易客户端语言

在api如PHP、Perl DBI, JDBC、ODBC,或MySQL的标准C调用接口,你可以发送事务控制语句等提交MySQL服务器作为字符串就像任何其他SQL语句等选择插入。一些api还提供单独的特殊事务提交和回滚的函数或方法。