- MariaDB 教程
- MariaDB - 首页
- MariaDB - 简介
- MariaDB - 安装
- MariaDB - 管理
- MariaDB - PHP 语法
- MariaDB - 连接
- MariaDB - 创建数据库
- MariaDB - 删除数据库
- MariaDB - 选择数据库
- MariaDB - 数据类型
- MariaDB - 创建表
- MariaDB - 删除表
- MariaDB - 插入查询
- MariaDB - 选择查询
- MariaDB - Where 子句
- MariaDB - 更新查询
- MariaDB - 删除查询
- MariaDB - Like 子句
- MariaDB - Order By 子句
- MariaDB - 联接
- MariaDB - 空值
- MariaDB - 正则表达式
- MariaDB - 事务
- MariaDB - Alter 命令
- 索引和统计表
- MariaDB - 临时表
- MariaDB - 表克隆
- MariaDB - 序列
- MariaDB - 管理重复项
- MariaDB - SQL 注入防护
- MariaDB - 备份方法
- MariaDB - 备份加载方法
- MariaDB - 有用函数
- MariaDB 有用资源
- MariaDB - 快速指南
- MariaDB - 有用资源
- MariaDB - 讨论
MariaDB - 事务
事务是顺序的组操作。它们作为一个单元运行,并且只有在组内所有操作都成功执行后才会终止。组中的单个失败会导致整个事务失败,并且不会对数据库产生任何影响。
事务符合 ACID(原子性、一致性、隔离性和持久性)原则 -
原子性 - 通过在发生故障时中止并回滚更改来确保所有操作的成功。
一致性 - 确保数据库在成功的事务上应用更改。
隔离性 - 使事务能够独立运行。
持久性 - 确保成功的事务在系统发生故障时仍然存在。
在事务语句的开头是 START TRANSACTION 语句,后面跟着 COMMIT 和 ROLLBACK 语句 -
START TRANSACTION 开始事务。
COMMIT 将更改保存到数据。
ROLLBACK 结束事务,并销毁任何更改。
在事务成功时,COMMIT 会生效。在失败时,ROLLBACK 会生效。
注意 - 一些语句会导致隐式提交,并且在事务中使用时也会导致错误。此类语句的示例包括但不限于 CREATE、ALTER 和 DROP。
MariaDB 事务还包括 SAVEPOINT 和 LOCK TABLES 等选项。SAVEPOINT 设置一个恢复点以与 ROLLBACK 一起使用。LOCK TABLES 允许在会话期间控制对表的访问,以防止在某些时间段内进行修改。
AUTOCOMMIT 变量提供对事务的控制。设置为 1 会强制所有操作都被视为成功的事务,设置为 0 会导致更改仅在显式 COMMIT 语句时才会持久化。
事务结构
事务语句的一般结构包括以 START TRANSACTION 开头。下一步是插入一个或多个命令/操作,插入检查错误的语句,插入 ROLLBACK 语句来管理发现的任何错误,最后插入 COMMIT 语句以在操作成功时应用更改。
请查看以下示例 -
START TRANSACTION; SELECT name FROM products WHERE manufacturer = 'XYZ Corp'; UPDATE spring_products SET item = name; COMMIT;
广告