mysql数据库事务级别 Serializable不起作用

为了测试mysql的事务级别,开设两个客户端A、B,B用来处理更新插入将A的隔离级别设置为可串行化(Serializable)1)、在B未更新数据之前:客户端A:2)、B... 为了测试 mysql 的事务级别,开设两个客户端A、B,B用来处理更新插入

将A的隔离级别设置为 可串行化 (Serializable) 1)、在B未更新数据之前:
客户端A:

2)、B更新数据:客户端B:

发现客户端B居然可以做动作,定,不是说等待客户端A的事务解锁的吗?难道是Mysql 的新功能?疑问啊。。。。。。。。。再看客户端A:

然后客户端A提交:

怎么看都和第三点---隔离级别设置为repeatable read 没有区别,疑问啊?????????????

求大神们解决。。。。。

感谢。。。。。
已经解决,
在 start transtaction 前加上 set autocommit=0; 就解决了。
展开
 我来答
西门公子庆
2013-09-03 · TA获得超过1879个赞
知道小有建树答主
回答量:482
采纳率:100%
帮助的人:261万
展开全部
有一点可以确定,你的测试肯定是有问题的,
我刚做了验证,A端就不说了。。B端的事务都是等待状态的。
Database changed
mysql> insert into test values ('10');
Query OK, 1 row affected (17.39 sec)

mysql> commit;
Query OK, 0 rows affected (0.01 sec)

mysql> insert into test values ('11');
Query OK, 1 row affected (9.26 sec)

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)

mysql> insert into test values ('11');
Query OK, 1 row affected (7.54 sec)

mysql> commit;
Query OK, 0 rows affected (0.01 sec)

可以看到。其中一些insert操作的执行时间,都是在等待A端提交之后才插入的。
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式