事务

事务

  • *事务的简介

事务是一组操作的合集,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体,一起向系统提交或撤销操作请求,这些操作只有同时成功、同时失败;

事务的操作

  • 查看、设置事务提交方式
-- 查看事务的提交方式(若为"1"则是自动提交,若为"0"则是手动提交)
select @@autocommit;
-- 设置事务为手动提交
set @@autocommit = 0;
  • 提交事务
commit;
  • 回滚事务
rollback;
  • 开启事务
start transaction;
begin;

事务的四大特性(ACID)

  • 原子性(Atomicity)事务是不可分割的最小操作单元,要么全部成功要么全部失败;
  • 一致性(Consistency)事务完成时,必须使所有的数据都保持一致的状态;
  • 隔离性(Isolation)数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行;
  • 持久性(Durability)事务一旦提交或回滚,它对数据库中的数据大的改变就是永久的;

并发事务问题

问题 描述 脏读 一个事务读到另一个事务还没有提交的数据; 不可重复读 一个事务先后读取同一条记录,但两次读取的数据不同; 幻读 一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在;

事务的隔离级别

隔离级别 脏读 不可重复读 幻读 Read uncommitted Y Y Y Read committed N Y Y Repeatable Read N N Y Serializable N N N

(注意:Repeatable Read 为MySQL的默认隔离级别;)

  • 查看事务隔离级别
select @@transaction_isolation;
  • 设置事务隔离级别
set session\global transaction isolation level 隔离级别;

*(注意:session为针对当前客户端窗口有效;global为针对所有客户端的窗口有效;)

Original: https://www.cnblogs.com/TeaTracing/p/16498053.html
Author: TeaTracing
Title: 事务

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622511/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 今日🎸吉他练到这儿

    本文来自博客园,作者:ukyo–BlackJesus,转载请注明原文链接:https://www.cnblogs.com/ukzq/p/16750421.html Or…

    数据库 2023年6月11日
    0110
  • 图文实例解析,InnoDB 存储引擎中行锁的三种算法

    前文提到,对于 InnoDB 来说,随时都可以加锁(关于加锁的 SQL 语句这里就不说了,忘记的小伙伴可以翻一下上篇文章),但是并非随时都可以解锁。具体来说,InnoDB 采用的是…

    数据库 2023年6月6日
    0105
  • 【黄啊码】MySQL入门—4、掌握这些数据筛选技能比你学python还有用-1

    大家好!我是黄啊码,今天没继续select * 了吧,如果还继续,那接下来的课程先别学,回去好好把之前的课程重复复习一遍,学明白了我们再会?废话不多说,学今天的课程之前我们先来说说…

    数据库 2023年6月16日
    080
  • SQLZOO练习7–Using NULL

    teacher表: iddeptnamephonemobile 101 1 Shrivell 2753 07986 555 1234 102 1 Throd 2754 07122 …

    数据库 2023年6月16日
    077
  • 如何实现跨域?

    https://blog.csdn.net/meism5/article/details/90414283 Original: https://www.cnblogs.com/cr…

    数据库 2023年6月16日
    099
  • 如何优化前端性能?

    导读:随着前端的范畴逐渐扩大,深度逐渐下沉,富前端必然带来的一个问题就是性能。特别是在大型复杂项目中,重前端业务可能因为一个小小的数据依赖,导致整个页面卡顿甚至崩溃。本文基于Qui…

    数据库 2023年6月14日
    082
  • Oracle培训-介绍与体系架构

    1979年,公司推出Oracle 2,这是计算机软件史上第一个由纯软件公司开发的商用关系型数据库管理系统。公司改名为”关系软件公司” (Relational…

    数据库 2023年6月11日
    0119
  • Dubbo源码(一)-SPI使用

    Dubbo 的可扩展性是基于 SPI 去实现的,而且Dubbo所有的组件都是通过 SPI 机制加载。 SPI 全称为 (Service Provider Interface) ,是…

    数据库 2023年6月11日
    0112
  • MySQL扩展

    1、行转列 源数据: 目标数据: 数据准备 — 建表插入数据 drop table if …

    数据库 2023年5月24日
    086
  • MySQL Operator 01 | 架构设计概览

    高日耀 资深数据库内核研发毕业于华中科技大学,喜欢研究主流数据库架构和源码,并长期从事分布式数据库内核研发。曾参与分布式 MPP 数据库 CirroData 内核开发(东方国信),…

    数据库 2023年5月24日
    0119
  • MySQL实战45讲 10

    10 | MySQL为什么有时候会选错索引? 使用哪个索引是由 MySQL 来确定的 可能遇到的情况:一条本来可以执行得很快的语句,却由于 MySQL 选错了索引,而导致执行速度变…

    数据库 2023年5月24日
    0140
  • 机器学习模型太慢?来看看英特尔(R) 扩展加速 ⛵

    💡 作者:韩信子@ShowMeAI📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41📘 本文地址:https://www.showm…

    数据库 2023年6月14日
    087
  • SQL优化这5个极简法则,直接让查询原地起飞!

    SQL 作为关系型数据库的标准语言,是 IT 从业人员必不可少的技能之一。SQL 本身并不难学,编写查询语句也很容易,但是想要编写出能够高效运行的查询语句却有一定的难度。 查询优化…

    数据库 2023年5月24日
    086
  • 关于pycharm打开时很卡,一直加载中的解决办法~

    相信很多刚开始使用pycharm不太熟练的小伙伴,每天一开机打开pycharm总是卡半天,不知道的还以为是电脑卡了或者啥问题的。 莫慌,其实并不是… 今天我们就来解决一…

    数据库 2023年6月14日
    0123
  • SQLZOO练习5–join(表的连接)

    game表: idmdatestadiumteam1team2 1001 8 June 2012 National Stadium, Warsaw POL GRE 1002 8 J…

    数据库 2023年6月16日
    0100
  • 链表问题一些常用的套路与方法

    概述 链表问题应该是数据结构中比较基础的一类问题,但同时也是在面试中常考的一类问题。但是围绕链表问题的一些基本方法或者处理思想,也无外乎那几类,因此本文尝试对链表常用的一些方法或者…

    数据库 2023年6月11日
    084
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球