当前位置:   article > 正文

mysql事务测试

mysql事务测试

mysql的事务处理主要有两种方法
1、用begin,rollback,commit来实现

  1. begin; -- 开始一个事务
  2. rollback; -- 事务回滚
  3. commit; -- 事务提交

2、直接用set来改变mysql的自动提交模式
mysql默认是自动提交的,也就是你提交一个sql,它就直接执行!我们可以通过

  1. -- 查看是否自动提交
  2. show variables like 'autocommit';
  3. set autocommit=0; -- 关闭自动提交
  4. set autocommit=1; -- 开启自动提交

但注意当“关闭自动提交”的时候,提交的SQL都将做为事务处理,直到用commit或rollback结束,
注意当结束这个事务的同时也开启了个新的事务!按第一种方法只将当前的作为一个事务!个人推荐使用第一种方法!


新建会话1加排它锁

  1. begin;
  2. select * from tableA where id = 1 for update;


新建会话2更新,这时会话2会阻塞。待会话1执行commit或rollback后,会话2才会继续执行。

  1. begin;
  2. update tableA set value='test' where id = 1;

若会话1的事务一直没提交,在等待52s后报错

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/742656
推荐阅读
相关标签
  

闽ICP备14008679号