事务是什么
事务是一个完整的业务逻辑单元,不可再分。
例如:银行转账,A–>B转账10000,需要执行两条update语句。
UPDATE t_act SET balance = balance - 10000 WHERE actno = 'act-001'
UPDATE t_act SET balance = balance + 10000 WHERE actno = 'act-002'
以上的DML语句必须同时成功,或者同时失败,不允许单条成功或者单条失败。
为了保证以上语句同时成功或者同时失败,就需要使用数据库的事务机制。
与事务相关的只有DML语句(insert delete update)
这三个语句都会直接操作数据库表中的“数据”.
事务的存在是未了保证数据的完整性、安全性。
如果单条DML可以完成业务,不需要事务机制。
但是显示业务中,通常有多步操作完成,所以需要事务。
事务的特性
A:原子性:事务是最小的工作单元,不可再分。
C:一致性:事务必须保证多条DML语句同时成功或者同时失败。
I:隔离性:事务A与事务B之间具有隔离。
D:持久性:最终数据必须持久化到硬盘文件中,事务才算成功。