基于binlog检查数据错误
起因
某个表的 status 「莫名其妙」变成 0 了
其实可以判断出是 status 没有被赋值,通常是结构体的 status 默认是 0 才会被插入数据库。
于是问题看起来就很简单了:只要检查相关的更新操作中的 status 字段有没有被赋值即可。
但是
这个表是用户表。
因为历史原因,源码中的更新函数很多
调用更新函数的地方也很多
无法复现该问题,测试人员也不知道做了什么操作状态变成 0 的
所以同事关注这个问题挺久了,也没看到问题原因(当然我也没看到……)
但是恰好我在做导出 bin...
mozz.in2 min read