测试一下Mysql事务隔离的效果

前提:数据配置autocommit=1 ,事务隔离为REPEATABLE-READ 的前提下,开两个连接

  1. #连接1
    START TRANSACTION; 
    update test set sn=sn+1;
    #连接2
    select * from test; #此时查出来的连接1修改之前的值
    #连接1
    select * from test; #此时查出来的修改之后的值
    commit;
    #连接2
    select * from test; #此时查出来的连接1修改之后的值

  2. #连接1
    START TRANSACTION; 
    update test set sn=sn+1;
    alter table test add column sn2 int;
    select * from test;
    
    #连接2
    select * from test; #此时查出来的连接1修改之后的值(估计是ddl语句会触发自动提交)
    
    #连接1
    rollback;
    select * from test;#此时查出来还是修改过后的值,说明前面的修改已经提交了

    未完待续。。

你可能感兴趣的:(mysql,数据库)