问题描述

MySQL update_time 字段设置了自动填充,由于业务提交,seata 记录当前镜像后,数据库又进行了一次时间戳的更新,导致镜像校验不通。

解决方案

  1. 关闭数据库的时间戳自动更新。数据的时间戳更新,如修改、创建时间由代码层面去维护,比如 MybatisPlus 就能做自动填充。

  2. update 语句别把没更新的字段也放入更新语句。

参考文章

https://seata.apache.org/zh-cn/docs/overview/faq#28