文章目录
前言
今天就来认识一下MySQL的事务。
事务
是什么是事务?
事务是逻辑上的一组操作,要么都执行,要么都不执行。
事务的特性(ACID)
- 原子性(atomicity):事务是最小的执行单位,不允许分割。事物的原子性确保动作要么全部完成,要么完全不起作用。
- 一致性(consistency):执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是相同的。
- 隔离性(isolation):并发访问数据库时,一个用户的事务不被其它事务所干扰,各并发事务之间数据库时独立的,也就是说在事务在正确提交之前,其可能结果不应该显示给其他事务。
- 持久性:一个事务被提交之后,它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。
并发事务带来的问题:
在应用程序中,通常会发生多个事务并发运行,多个用户对统一数据进行操作,则可能导致以下问题: