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;

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程