本节中列出的语句(以及它们的同义词)隐式地结束当前会话中任何活动的事务,就像您执行了提交
在执行该声明之前。
大多数这些语句也会导致执行后的隐式提交。意图是在自己的特殊交易中处理每个此类陈述。事务控制和锁定语句是例外:如果在执行前发生隐式提交,则不会发生另一个。
定义语言(DDL)定义或修改数据库对象的语句。
改变事件
那改变功能
那改变程序
那更改服务器
那改变表
那改变视图
那创建数据库
那创建事件
那创建功能
那创建索引
那创建过程
那创建角色
那创建服务器
那创建空间参考系统
那创建表
那创建触发器
那创建视图
那删除数据库
那删除事件
那删除功能
那下降索引
那下降程序
那下降角色
那减少服务器
那空投空间参考系统
那下拉表
那删除触发器
那掉落视图
那安装插件
那重命名表
那截断表
那卸载插件
。创建表
和下拉表
陈述不承诺交易暂时的
使用关键字。(这不适用于临时表的其他操作,例如改变表
和创建索引
,这会导致提交。)但是,虽然没有发生隐含的提交,但语句也不会回滚,这意味着使用此类陈述会导致违反事务原子性。例如,如果你使用创建临时表
然后回滚交易,表仍然存在。这
创建表
声明Innodb.
作为单个事务处理。这意味着回滚
来自用户并未撤消创建表
声明该交易期间用户所做的。创建表......选择
在创建非临时表时,在执行语句之前和之后导致隐式提交。(没有提交创建临时表......选择
。)事务控制和锁定语句。
开始
那锁定表
那设置autocommit = 1
(如果值尚未1),开始交易
那解锁表格
。解锁表格
仅在当前已锁定的任何表锁定时才会提交交易锁定表
获取非讲台表锁。没有发生提交解锁表格
后用读锁冲洗表
因为后一个语句没有获得表级锁。事务无法嵌套。这是您发出问题时对任何当前事务执行的内容提交的结果
开始交易
声明或其同义词之一。导致隐式提交的语句不能在XA事务中使用,而该事务处于
积极的
状态。这
开始
语句不同于开始
启动a的关键字开始......结束
复合陈述。后者不会导致隐性提交。看第13.6.1节“开始......结束复合声明”。