zoukankan      html  css  js  c++  java
  • mysql 幻象读

    [sql] view plain copy

    1. CREATE TABLE `t100` (  
    2. `id` bigint(20) NOT NULL default '0',  
    3. `value` varchar(32) default NULL,  
    4. PRIMARY KEY (`id`)  
    5. ) ;  
    6.   
    7. mysql>select @@global.tx_isolation, @@tx_isolation;  
    8. +-----------------------+-----------------+  
    9. | @@global.tx_isolation | @@tx_isolation  |  
    10. +-----------------------+-----------------+  
    11. REPEATABLE-READ       | REPEATABLE-READ |  
    12. +-----------------------+-----------------+  
    13.   
    14. 试验4-1:  
    15.   
    16. SESSION A:   
    17. set autocommit=0;  
    18.   
    19.   
    20.   
    21. SESSION B:  
    22.   
    23.   
    24.   
    25.   
    26. tSessionA                                                     Session B  
    27. |  
    28. set autocommit=0;                                         set autocommit=0;  
    29. | START TRANSACTION;                                  START TRANSACTION;  
    30. |  
    31. SELECT * FROM t100;  
    32. | empty set  
    33. |                                                   INSERT INTO t100 VALUES (1, 'a');  
    34. |                                
    35. |  
    36. SELECT * FROM t100;  
    37. | empty set  
    38. |                                                                      COMMIT;  
    39. |  
    40. SELECT * FROM t100;  
    41. | empty set  
    42. |  
    43. INSERT INTO t100 VALUES (1, 'a');  
    44. | ERROR 1062 (23000):  
    45. | Duplicate entry '1' for key 1  
    46. v (shit,刚刚明明告诉我没有这条记录的)  
    47.   
    48. 如此就出现了幻读,以为表里没有数据,其实数据已经存在了,傻乎乎的提交后,才发现数据冲突了。 
  • 相关阅读:
    Django框架(二十三)-- Django rest_framework-视图组件
    Django框架 --序列化组件(serializer)
    Django框架(十六)-- 中间件、CSRF跨站请求伪造
    leetcode 之 两数之和
    vue中webpack相关的配置
    vue-cli3 初始化创建项目
    vue之模块化开发
    vue基础之常用方法
    凯哥带你用python撸算法之雪花算法
    docker数据卷之持久化操作
  • 原文地址:https://www.cnblogs.com/wuhan729/p/8443232.html
Copyright © 2011-2022 走看看