MySQL 事务相关~~

事务:

最小的执行单元,事务中的语句要成功全部成功,有一个失败,全部回滚。

– 事务操作:DML(insert、update、delete)
– MySQL:事务默认自动提交的

– 事务操作过程:
– 开启事务 start transaction
– 提交事务 commit
– 事务回滚 rollback
– 事务保存点 savepoint,可以选择回滚到某个保存点

start transaction; //开启事务

update student set sname=‘zhangsan’ where sno=‘20010101’;

savepoint s1;
update student set sname=‘lisi’ where sno=‘20010102’;

savepoint s2;

rollback to s1;

commit; //提交事务

事务的特性:ACID

– 事务的特性:A:原子性 C:一致性 I:隔离性 D:持续性

A(Atomicity) 原子性

原子性是整个数据库事务是不可分割的工作单位,只有事务中的所有的数据库操作都执行成功,才算整个事务成功。事务中任何一个SQL执行失败,已经执行成功的SQL语句也必须撤销,回到执行事务的之前的状态。

C(Consistency) 一致性

一致性是指事务将数据库从一种一致性状态变为下一种一致性状态。在事务开始之前和之后,数据库的完整性约束没有被破坏。

I(Isolation) 隔离性

隔离性要求每个读写事务对其他事务的操作对象能相互分离。

比如A转账的银行是工商银行,那么别人在工商银行转账不能干扰A的转账行为。

D(Durability) 持久性

持久性指事务一旦提交,其结果就是永久性的。

你可能感兴趣的:(mysql)