事务操作

2020-02-19  本文已影响0人  栀心_d553

前提是储存引擎必须是innodb

事务操作原理?

事务原理.png
在开启事务之后,所有的操作都会先写入临时日志文件,没有问题的话,就会(断开)同步到数据库中。
事务结束无论是commit还是rollback,都会清空临时日志,但是commit会同步,rollback不会。如果出现断电的情况,也会清空,但是不会影响圆的数据库。

rollback的使用

在每一步的可能错的地方设置回滚点savepoint spl; (spl可以随意设置,只是一个标记),然后如果哪一步操作错误的话,可以回到回滚点,代码:rollback spl;回到正确的位置,继续操作。

回滚点和回滚的区别?

回滚是回到原来的数据,回滚点是设置一个标志。

自动事务

set autocommit = 0 关闭 set autocommit = 1 开启 一般是开启的,这样的话事务中的操作会同步。

事物的四大特性ACID分别对应

原子性(要么成功要么失败)、一致性(只要事务没有提交,数据库的数据不会变化)、隔离性、持久性;隔离性:事务与事务之间互不干扰。持久性:是指在事务中同步到数据库中,即使回滚也没有意义。

锁机制

就是用别的字段(除了id),在事务中一旦开启,在另一个事务执行的话,就得等待十几秒钟。rollback会解除这个锁

事务的操作针对数据的操作。并不针对结构。

上一篇下一篇

猜你喜欢

热点阅读