mysql事务

事务

事务是在数据库系统中保证一组操作要么全部成功,要么全部失败的机制,,确保数据在并发访问和潜在故障下的正确性和可靠性

事务四大特性
  • 原子性:atomicity : 事务操作是一个整体,要么全部成功,要么全部失败,不存在中间状态
  • 一致性 : consistency : 事务执行前后,数据库必须从一个合法性状态转变成另一个合法性状态,强调结果永远合法,符合规则
  • 隔离性: 多个并发事务之间互不干扰
  • 持久性: 一旦事务提交,结果永久保存
事务引发的问题
  • 脏读 : 事务A读到了事务B未提交的修改数据,如果事务B回滚,那么A读到的数据就是脏数据
  • 不可重复读 : 在同一个事务A内,两次读取同一行数据,结果不一致(因为在此期间事务B修改并提交了数据)
  • 幻读 : 在同一个事务中,两次执行相同范围的查询,返回的记录数不一样(因为在此期间,事务B插入或者删除符合这个查询条件的数据并提交了)
事务的隔离级别
  • 读未提交 : 一个事务能读取到其他事务尚未提交的数据,,会脏读,不可重复读,幻读
  • 读已提交: 一个事务只能读取到其他事务已经提交的数据,, 会不可重复读,幻读
  • 可重复读: 一个事务执行期间,他看到的数据在事务开始时就被确定,不会受其他事务的影响,,,会幻读
  • 串行化 : 让并发事务的执行结果,串行的一个接一个的执行 ,, 避免脏读,不可重复读,幻读

mysql的隔离级别是可重复读

相关推荐
weixin_459753941 小时前
golang如何实现Trace上下文传播_golang Trace上下文传播实现思路
jvm·数据库·python
weixin_444012932 小时前
PHP 中逻辑或(--)运算符的正确使用与条件逻辑重构指南
jvm·数据库·python
iAm_Ike8 小时前
Go 中自定义类型与基础类型间的显式类型转换详解
jvm·数据库·python
iuvtsrt8 小时前
Golang怎么实现方法集与接口的匹配_Golang如何理解值类型和指针类型实现接口的区别【详解】
jvm·数据库·python
tongluowan0079 小时前
MySQL中列数量及长度
数据库·mysql
-liming-9 小时前
单片机设计_串口调试工具
数据库·单片机·mongodb
鹿角片ljp9 小时前
从告警检测到智能研判:SQL 注入研判模型的设计与实践
数据库·sql
小新同学^O^11 小时前
简单学习 --> Spring事务
数据库·学习·spring
前进的李工11 小时前
MySQL慢查询日志优化实战
数据库·mysql·性能优化
KaMeidebaby11 小时前
卡梅德生物技术快报|禽类成纤维细胞 FISH 实验:鸟类性别染色体基因定位技术实现与数据验证
前端·数据库·其他·百度·新浪微博