1.事务主要用于处理操作量大,复杂度高的数据
2.事务是必须满足4个条件(ACID):
     原子性(Atomicity,或称不可分割性)
      一致性(Consistency)
      隔离性(Isolation,又称独立性)
      持久性(Durability)
3.MySQL事务管理
    3.1.在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。
     3.2.事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。
     3.3.事务用来管理 insert,update,delete 语句
4.MYSQL 事务处理主要有两种方法:
1、用 BEGIN, ROLLBACK, COMMIT来实现
        BEGIN 开始一个事务
         ROLLBACK 事务回滚
         COMMIT 事务确认
 2、直接用 SET 来改变 MySQL 的自动提交模式:
        SET AUTOCOMMIT=0 禁止自动提交
         SET AUTOCOMMIT=1 开启自动提交    
代码演示
-- 创建数据表
CREATE TABLE runoob_transaction_test( id INT(5)) ENGINE=INNODB;  
SELECT * FROM runoob_transaction_test;
-- 开始事务
BEGIN;
-- 可以将多个增删改操作写入一个事务中
INSERT INTO runoob_transaction_test VALUE(1);
INSERT INTO runoob_transaction_test VALUE(2);
ROLLBACK; -- 回滚生效,因为数据还未提交
INSERT INTO runoob_transaction_test VALUE(7);
INSERT INTO runoob_transaction_test VALUE(8);
-- 提交事务后,就不能再回滚  
COMMIT;
-- ROLLBACK; 回滚无效,因为数据已经提交
-- 再次查询,发现只有7,8插入生效,1,2因为回滚插入失败
SELECT * FROM runoob_transaction_test;  



京公网安备 11010502036488号