📜  事务 php - SQL (1)

📅  最后修改于: 2023-12-03 15:36:03.056000             🧑  作者: Mango

事务 PHP - SQL介绍

什么是事务?

事务是指一组数据库操作单元,整个操作序列为一个不可分割的工作单位。事务具有以下四个特性 ACID(原子性,一致性,隔离性,持久性)。

  • 原子性(Atomicity):指事务包含的所有操作要么全部成功,要么全部失败回滚,不会出现部分操作成功的情况。
  • 一致性(Consistency):指事务执行前后,数据库的完整性约束没有被破坏,事务的执行使数据库从一个一致性状态到另外一个一致性状态。
  • 隔离性(Isolation):指多个事务并发执行时,每个事务都可以认为是在单独地、独立地执行,每个事务之间不存在影响关系。
  • 持久性(Durability):指事务执行成功后,对数据库的改变是永久的,即使发生宕机等故障也不会丢失。
PHP中事务的使用

在PHP中使用事务操作数据库通常需要执行以下步骤:

  1. 连接数据库

    $link = mysqli_connect("localhost", "user", "password", "database");
    if (!$link) {
        die("连接失败: " . mysqli_connect_error());
    }
    
  2. 开启事务

    mysqli_begin_transaction($link);
    
  3. 执行SQL操作

    $sql = "UPDATE users SET balance = balance - 100 WHERE user_id = 1";
    mysqli_query($link, $sql);
    $sql = "UPDATE users SET balance = balance + 100 WHERE user_id = 2";
    mysqli_query($link, $sql);
    
  4. 提交事务

    mysqli_commit($link);
    
  5. 回滚事务

    mysqli_rollback($link);
    
SQL中事务的使用

在SQL中使用事务操作数据库通常需要执行以下步骤:

  1. 开启事务

    START TRANSACTION;
    
  2. 执行SQL操作

    UPDATE users SET balance = balance - 100 WHERE user_id = 1;
    UPDATE users SET balance = balance + 100 WHERE user_id = 2;
    
  3. 提交事务

    COMMIT;
    
  4. 回滚事务

    ROLLBACK;
    
总结

事务是一个非常重要的概念,它保证了数据库的一致性和可靠性。在PHP和SQL中,我们可以很容易地使用事务来执行一组操作,同时保证其ACID特性。