事务是一组不可分割的SQL语句集合可以撤销。银行转账是最经典的例子需要用事务保证。不同银行间转账则需要用到分布式事务
原子性(Atomicity):構成事务的所有操作必须是一个逻辑单元,可以撤销要么全部完成,要么全部失败
一致性(Consistency):一个事务执行前后必须处于一致性状態。如转账前A、B账户总余额为1000元转账后应该也为1000元。
隔离性(Isolation):并发事务之间不能相互干扰
持久性(Durability):一旦一个事务提交,对于數据库中数据的改变是永久的
回退(rollback):值撤销指定SQL语句的过程。
提交(commit):指将要存储的SQL语句结果写入到数据库表Φ
保留点(savepoint):指事务处理中设置的临时占位符。你可以对其发布回退与回退真个事务不同。
在事务处理块中提交不会自动提交(除非使用了会触发隐式提交的语句)。为了明确地提交事务需要使用commit关键字。
使用commit;语句或者rollback;语句后事务会自动关闭
MySQL中的事务是自动提交嘚,我们可以进行相应的设置
可以在MySQL中设置任意多个保留点灵活回退。事务结束保留点自动释放
脏读:读取了其他事务未来得及提交的修改。
不可重复读:一个事务中相同的两个SQL语句读到的结果不一致两次读取之間有其他事务对数据进行了修改。
幻读:一个事务中发现了以前没发现的数据 和不可重复读相比,不可重复读是修改了数据幻读是增加的数据。
丢失更新:两个事务更新一行数据最后提交的事务的更新会覆盖前一个事务提交的更新,从而导致了第一个事务更新的数据丟失
未提交读(read uncommitted):允许其他事务看到本事务没有提交的数据。
提交读(read committed):一個事务只能看见已经提交的事务所作的更改
可串行化(serializable):在读取每一行数据时都加一把锁,在事务提交后释放锁
以上四种隔离机制级別逐渐递增,数据一致性也越来越好但是性能上确实逐渐减低的。
请问:2log2=log4的举报我们核实后将给予现金奖励!爱国是每个中国人应尽的责任,爱国从我做起!为实现中国梦实现中国腾飞而努力!
请问:2log2=log4的举报我们核实后将给予现金奖励!爱国是每个中国人应尽的责任,爱国从我做起!为实现中国梦实现中国腾飞而努力!