1. 原子性(Atomicity): 事务是一个原子操作,要么全部执行成功,要么全部不执行。如果事务中的任何一条语句失败,整个事务将被回滚(Rollback),回到最初的状态。
2. 一致性(Consistency): 事务在执行前后,数据库的状态应保持一致。这意味着事务的执行不会破坏数据库的完整性约束。
3. 隔离性(Isolation): 多个事务可以并发执行,但每个事务的执行应该与其他事务隔离。这确保了每个事务都不受其他并发事务的影响。
4. 持久性(Durability): 一旦事务成功提交,其结果应该是永久性的,即使系统崩溃也不应该丢失。
MySQL 中的事务控制语句
在MySQL中,使用以下语句来控制事务:
- START TRANSACTION: 用于开始一个新的事务。
- COMMIT: 用于提交事务,使事务中的所有更改生效。
- ROLLBACK: 用于回滚事务,撤销事务中的所有更改。
以下是一个简单的例子,演示如何在MySQL中使用事务:
-- 开始事务
START TRANSACTION;
-- 执行一些SQL语句
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
-- 根据需要检查事务是否成功
-- 如果一切正常,提交事务
COMMIT;
-- 如果发生错误或其他问题,回滚事务
-- ROLLBACK;
在这个例子中,两个UPDATE语句将资金从一个账户转移到另一个账户。如果两个更新都成功,事务将通过COMMIT语句提交。如果发生错误,你可以通过取消COMMIT注释并将ROLLBACK语句取消注释来回滚事务。
请注意,事务应该在数据库引擎支持事务的情况下使用。MySQL的InnoDB引擎是一个支持事务的示例。
转载请注明出处:http://www.zyzy.cn/article/detail/7997/MySQL