mysql的坑——持续更新

BUG:通过两个条件写入的数据存在重复的情况。今天测试复现bug时一直无法复现。在发散思考的时候想到是否是数据问题导致。经过实验确实印证了这个思考。感觉向真相迈进了一大步。

如下图:条件是his_id+pat_no,可以很直观的看到查出了3条数据,实际他们并不一致

请大家观察光标位置,在不同的字段中右测都加了不同长度的space,但是sql会认为他们是相同数据查出,如果是selectOne的情况则会报错。

原因呢,mysql官网已经给出解释了

按照方法3做了一次实验,解决了。但。。。。这种数据通过接口跑不进去

BUG还是没有复现,为啥呢。挠头半小时后没办法找研发要了源码,好像是没加同步锁,该接口场景可能存在多线程情况,,,好吧  1w匹羊驼飘过。

并发测试中。。。。

10秒后

果然特么出现了重复大佬,加锁后问题解决。

 

今天发现用“mybatis-generator-maven-plugin”生成的mybatis mapper.xml中都做了很好的trim操作。。。所以提醒大家原生代码中也要加入哦。。。