事务

什么是事务?为什么需要事务?

事务在总量不变的情况下,要么同时执行,要么都不执行。(如:银行转账系统,捐赠物资)

特点:1.要么同时执行要么不执行,共进退2.此消彼长,(金钱)总量不变

事务的四个特性:1.原子性:事务是一个完整的操作,各部分操作之间不可分割,要么同时执行,要么都不执行,共进退。

 (acid  重要)     2. 一致性:当事务完成时,数据必须处于一致状态。如:转账之后数据总额不变

                             3.隔离性:同时发生的两个事务之间彼此隔离,独立,不以任何方式依赖于或影响其他事务                           

                                              如:A和B同时给C转账,A与B之间是隔离独立的,不会相互影响。   

                             4.持久性:事务完成后,对数据库的修改将永久保持

如何创建事务?

开始事务:

begin; 或  start transaction;

提交:

commit;

回滚(撤销)事务:

rollback;

如:

begin;

set autocommit = 0;

update  bank set money = money -500

where name = ‘张三’;

update  bank set money = money+500

where  name = ‘李四’;

commit;

update bank set money = money-1000

where name = ‘张三’;

roollback;

set  autocomit = 1;

自动关闭和开启事务:

set  autocommit = 0;    代表自动关闭事务

set  autocommit = 1;     代表自动开启事务

注意:

                  

原文地址:https://www.cnblogs.com/yangshuwenzuibang/p/12868265.html