(18)事务特性、语法、简单原理
一、事务特性ACID
事务:通俗的说,指一组操作,要么都成功的执行,要么都不执行—>原子性(atomicity)
在所有的操作没有执行完毕之前,其他回话不能够看到中间改变的过程—>隔离性(lsolation)
事务发生前和发生后,数据的总额依然匹配—->一致性(consistency)
事务产生的影响不能撤销—->持久性(durability)
如果出现了错误,事务不能撤销,只能通过“补偿性事务”
注意:关于事务的存储引擎:innodb
二、事务语法
开启事务:start transaction;
commit提交/rollback回滚
注意:①当一个事务commit或者rollback后,事务就结束了,所以要重新开启事务
②一些语句会造成事务的隐式提交,比如start transaction
create table account(
id int,
name varchar(10),
money int
)engine=innodb charset=utf8;
insert into account values(1,'李三',3000);
insert into account values(2,'赵四',3000);
start transaction;
update account set money=money-500 where id=1;
update account set money=money+500 where id=2;
commit;
三、事务的基本原理