mysql数据丢失

发现mysql中偶尔数据莫名奇妙的丢失,这次丢失了订单表中的一条记录,我用的是laravel框架

····生成订单的留成
用户提交订单 ------> 表1生成订单 --------> 用户支付 ------> 支付回调 -----> 表1状态修改,表2中插入商家的收款记录(从表1中获取订单编号)

····自我的排查
1.订单表采用的是软删除,程序中全局搜索并没有发现那里有删除订单的语句。即使有,软删除也并不会将数据真的删除。
2.表2中的记录存在,说明一直到支付回调成功结束,表1中的记录还是存在的。而且id是自增长的, 中间 23 后面就是 25了, 唯独少了 **24,说明记录是生成过的。莫名其妙就没了。
3.那个时间点没有人在操作数据库,可以排除人为的误删除。

阅读 2.1k
2 个回答

从你目前的表述来看我只能给你一个思路是 被回滚的增加语句也是会使ID自增的

如果有binlog,看看binlog是否有发现,如果能发现这条删除操作,再对比一下上下文看什么情况下出现的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题