Mysql事务的处理

1、事务,就是一组命令的操作。

        不过这一组命令,我们有时候需要使用手动提交;

1、使用这组命令可以查询出来现在的提交方式:自动提交(就是命令输入,点击enter后,会不会直接对表格产生修改,改为0以后,就需要额外使用一个commit命令才能将命令提交执行);

                          

                        

2、执行出错的时候,

        使用回滚事务操作,将数据改为原来的状态

        rollback;  

3、事务的性质(ACID,网上很多,先不写了,就是针对的一组事务命令)

4、并发事务问题:

(多个事务并发操作同一数据库时,每个事务在使用时,都对数据库进行操作,进行修改后,可能影响其他事务对数据库的访问。类似多线程对共享资源的访问),说是三种问题,实际上使用的时候,对应的是三种操作

(第一种对应的是,当前事务进行读取的时候,另外一个事务对数据表进行了修改,但是另外一个事务还没有执行到提交的那一步。这个过程里第一个事务读取到了,成为脏读)

(第二种对应,使用一个事务先后两次读取同一个记录,另外的事务在两次读取之间对数据进行了修改,导致读取到的信息不一样)

(第三种对应,使用一个事务向表格插入数据前,先查询一下,里面没有目标数据;但是后面执行insert into 插入命令时,表格中已经有了我们要插入的数据,但是使用select 查询命令时仍然查不到,也插入不了,考虑先提交当前事务看看,可能就有了。这样的重点在插入操作)

这些问题的共性,一般都是在一个事务未完成的时候,下一个事务就介入当前事务所用的表格,所以需要注意下。

幻读:

4、事务隔离级别(X号表示隔离级别可以解决的问题)

 隔离越厉害性能越差。最后一种是串行访问,当前事务未处理完之前,其他事务的命令无法执行

 1、设置隔离级别为 serializable 时,第一张图是在其中一个事务中进行更新数据,第二个是在第一个更新完没有提交的时候,就卡在那里了。

                

                

此时信息已经更新了

        ​​​​​​​        ​​​​​​​        

当提交后:当前事务中是这样的,另外一个事务中报了超时错误(可能时间间隔长了)

        

        

5、事务的结束和重新开始 

        开始可以使用 begin和start transaction;当提交后,当前事务就算结束了。这个没有找到类似的资料。

不过处理过程中,不要让事务中使用的命令超时,超时的话,可能系统会自己重新开始事务,以免出现不必要的麻烦

相关推荐

  1. MySQL并发事务是怎么处理

    2024-01-13 22:08:02       32 阅读
  2. MySQL事务

    2024-01-13 22:08:02       61 阅读
  3. Mysql - 事务概念

    2024-01-13 22:08:02       30 阅读
  4. Mysql事务

    2024-01-13 22:08:02       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-13 22:08:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-13 22:08:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-13 22:08:02       87 阅读
  4. Python语言-面向对象

    2024-01-13 22:08:02       96 阅读

热门阅读

  1. What is `WebMvcConfigurer` does?

    2024-01-13 22:08:02       67 阅读
  2. Python学习之路-函数进阶

    2024-01-13 22:08:02       65 阅读
  3. springboot 注解+AOP实现接口方法出入参打印

    2024-01-13 22:08:02       68 阅读
  4. 力扣labuladong——一刷day91

    2024-01-13 22:08:02       66 阅读
  5. apply、call、bind的区别 如何实现一个bind

    2024-01-13 22:08:02       68 阅读
  6. PC-lint Plus在安全系统中的应用

    2024-01-13 22:08:02       45 阅读
  7. C语言版数据结构与算法pta合集:7-3 括号匹配

    2024-01-13 22:08:02       60 阅读
  8. 【已解决】C语言如何使用宽字符输出中文

    2024-01-13 22:08:02       64 阅读
  9. mysql修复VIEWRESIDENTHIST 数据

    2024-01-13 22:08:02       59 阅读
  10. Linux数据处理的几个命令

    2024-01-13 22:08:02       94 阅读
  11. 教师如何开发期末考试成绩的查询系统

    2024-01-13 22:08:02       66 阅读
  12. xtu oj 1522 格子

    2024-01-13 22:08:02       57 阅读
  13. 标准 C++ 数据类型和 C++/WinRT

    2024-01-13 22:08:02       56 阅读