浅析MYSQL REPEATABLE-READ隔离级别

 更新时间:2014年07月27日 18:06:04   投稿:whsnow  
REPEATABLE-READ 即可重复读,autocommit= 0或者START TRANSACTION状态下select表的内容不会改变

REPEATABLE-READ 即可重复读,set autocommit= 0或者START TRANSACTION状态下select表的内容不会改变。这种隔离级别可能导致读到的东西是已经修改过的。

比如:

回话一中读取一个字段一行a=1

在回话二里这个字段该行修改a=0,并且提交

回话一中再update这个字段a=0,会发现受影响行数是0,这样就可以根据受影响行数是0还是1判断此次修改是否成功!

这在某些程序里会很有用!

会话1:

mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from test.dd where id=1;
+----+------+
| id | aa |
+----+------+
| 1 | 2 |
+----+------+
1 row in set (0.00 sec)

会话2:

mysql> update test.dd set aa=1 where id=1;
Query OK, 1 row affected (0.09 sec)
Rows matched: 1 Changed: 1 Warnings: 0

会话3:

mysql> select * from test.dd where id=1;
+----+------+
| id | aa |
+----+------+
| 1 | 2 |
+----+------+
1 row in set (0.00 sec)

mysql> update test.dd set aa=1 where id=1;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0

此处的受影响行数为0,我们可以根据这个值判断这次update是否成功,这在需要更改某些行的状态位的时候是比较有用的!

相关文章

  • 一文带你了解MySQL之连接原理

    一文带你了解MySQL之连接原理

    搞数据库一个避不开的概念就是Join,翻译成中⽂就是连接,相信很多小伙伴初学连接的时候有些一脸懵,理解了连接的语义之后又可能不明白各个表中的记录到底是怎么连起来的,所以本章就来学习连接的原理,需要的朋友可以参考下
    2023-05-05
  • mysql日志滚动

    mysql日志滚动

    日志滚动解决日志文件过大问题,比如我开启了general_log,这个日志呢是记录mysql服务器上面所运行的所有sql语句;比如我开启了mysql的慢查询
    2014-01-01
  • mysql备份与恢复详解

    mysql备份与恢复详解

    本篇文章是对mysql的备份与恢复进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 一文教你学会定位线上MySQL锁超时问题

    一文教你学会定位线上MySQL锁超时问题

    这篇文章主要介绍了一文教你学会定位线上MySQL锁超时问题,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • MYSQL必知必会读书笔记第六章之过滤数据

    MYSQL必知必会读书笔记第六章之过滤数据

    本文给大家分享MYSQL必知必会读书笔记第六章之过滤数据的相关知识,非常实用,特此分享到脚本之家平台,供大家参考
    2016-05-05
  • MySQL中用户授权以及删除授权的方法

    MySQL中用户授权以及删除授权的方法

    这篇文章主要介绍了MySQL中用户授权以及删除授权的方法的相关资料,需要的朋友可以参考下
    2015-12-12
  • 一次mysql的.ibd文件过大处理过程记录

    一次mysql的.ibd文件过大处理过程记录

    mysql数据库的每个表都有ibd和frm两种格式的文件,ibd文件是表的数据文件,存放表的数据,修改文件后缀,无法在MySQL数据库中查询表数据,这篇文章主要给大家介绍了关于一次mysql的.ibd文件过大处理过程的相关资料,需要的朋友可以参考下
    2022-06-06
  • MySQL常见错误以及解决方法

    MySQL常见错误以及解决方法

    该文章详细介绍了在使用MySQL数据库时可能遇到的常见错误及其解决方法,涵盖了权限问题、配置错误、文件问题、网络问题等多种情况,文章内容全面,实用性强,适合数据库管理员和开发人员参考
    2024-12-12
  • 关于SQL语句中的AND和OR执行顺序遇到的问题

    关于SQL语句中的AND和OR执行顺序遇到的问题

    在SQL语句中的AND和OR执行顺序中我们经常会遇到一些问题,下面有简单的解决方法,小编来和大家一起来看看
    2019-05-05
  • linux使用mysqldump+expect+crontab实现mysql周期冷备份思路详解

    linux使用mysqldump+expect+crontab实现mysql周期冷备份思路详解

    这篇文章主要介绍了linux使用mysqldump+expect+crontab实现mysql周期冷备份,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10

最新评论