事务原则,ACID
###事务原则,ACID
原子性(atomicity)
要么都成功,要么都失败
一致性(consistency)
事务前后的数据完整性要保证一致
持久性(Durability) ---事务提交
事务一旦提交则不可逆,被持久化到数据库中!
隔离性(lsolation)
事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,事务之间要相互隔离。
####·隔离所导致的一些问题
脏读:
指一个事务读取了另外一个事务未提交的数据。
不可重复读:
在一个事务内读取表中的某一行数据,多次读取结果不同,数据发生了改变。(这个不一定是错误,只是某些场合不对)
虚读(幻读)︰在一个事务内,读取到了别人插入的数据,导致前后读出来结果不一致
-- mysql是默认开启事务自动提交的
SET autocommit = 0/*关闭*/
SET autocommit = 1 /*开启(默认的)*/
--手动处理事务
SET autocommit = 0 -— 关闭自动提交
-―事务开启
START TRANSACTION -- 标记一个事务的开始,从这个之后的 sql 都在同一个
INSERT XX
INSERT XX
--提交:持久化(成功!)
COMMIT
—-回滚:回到的原来的样子(失败!)
ROLLBACK
--事务结束
SET autocommit = l -- 开启自动提交
SAVEPOINT 保存点名 -- 设置一个事务的保存点
rollback to savepoint 保存点名 --回滚到保存点
release savepoint 保存点名 --撤销保存点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!