常用的存储引擎有InnoDB(MySQL5.5以后默认的存储引擎)和MyISAM(MySQL5.5之前默认的存储引擎),其中InnoDB支持事务处理机制,而MyISAM不支持 事务是一个整体, 由一条或者多条SQL语句组成, 这些SQL语句要么都执行成功, 要么就失败, 只要有一条SQL出现异常, 整个操作就会回滚
回滚:就是如果没有操作成功,所有的sql就会倒序重新把数据恢复到原来得样子,这样保证数据出错
举例:比如流水线,做的是一步手机,这个手机组装得时候不许出错,出错全部拆了,重新组装。 比如流水线是五个人,一次组装得东西是主架–》电池–》按键–》屏幕–》包装,如果其中一个人出错,比如包装出错了,没包装好,那么就把包装拆开,然后以此从后往前一直拆开,屏幕、按键、电池、主架,然后从新组装,
MySQL事务操作 MySQL 中可以有两种方式进行事务的操作:
- 自动提交事务(MySQL默认)
- 手动提交事务
事务得四大特性
事务的四大特性 ACID 原子性(Atomicity) 一个事务要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作,这就是事务的原子性
一致性(Consistency) 指事物必须是数据库从一个一致性状态到另一个一致性状态。也就是说一个事物执行之前和执行之后都必须处于一致性状态
隔离性(Isolation) 事务的隔离性是指在并发环境中,并发的事务时相互隔离的,一个事务的执行不能不被其他事务干扰。不同的事务并发操作相同的数据时,每个事务都有各自完成的数据空间,即一个事务内部的操作及使用的数据对其他并发事务时隔离的,并发执行的各个事务之间不能相互干扰
持久性(Durability) 一旦事务提交,那么它对数据库中的对应数据的状态的变更就会永久保存到数据库中。即使发生系统崩溃或机器宕机等故障,只要数据库能够重新启动,那么一定能够将其恢复到事务成功结束的状态
|