数据库事务必会必知
事务,大家所熟悉的事务(Transaction),基本上会就往Spring事务靠。其实Spring事务管理基于底层数据库本身的事务处理机制。数据库事务的基础,是掌握Spring事务管理的基础。这篇总结下数据库事务。
一、数据库事务
它的思想:war伐木累。就是多个SQL语句(一个团队),要么所有执行succss,不然就fail。它最终的目标:数据不会被破坏。即事务操作成功,数据的结果和业务期待的结果是一致的。这也就是ACID中的一致性(Consistncy)。那什么是ACID呢?
二、ACID
上面是思想,牛人马上根据思想建模,DBMS中数据库事务满足4各特性,即原子性、一致性、隔离性和持久性。下面一一生动解释:a)原子性原子是物质的最小单元,即不可再分。例如,以MySQL为例,每一个简单的SQL语句即包含在一个事务中,具有原子性。这时候有人问了,那多个SQL呢?
BEGINTRANSACTION;
INSERTINTO`tst`.`city`(`stat`,`country`,`nam`)
VALUES
(1,China,CHINA,错误语句多了个VALUE);
INSERTINTO`tst`.`city`(`stat`,`country`,`nam`)
VALUES
(1,China,CHINA);
COMMIT;
结果:执行不通过。行:为一个错误SQL。行:是一个正确的SQL。它们各自被包裹在各自的隐式事务中,即RadUn
北京治疗白癜风中医医院什么药治疗白癜风