开发者社区 > 云原生 > 中间件 > 正文

seata中at模式下rm服务对同一条数据进行操作,如果不查询直接更新就可以回滚成功是为什么呀?

seata中at模式下rm服务对同一条数据进行了先查询后更新的操作,然后回滚,就一直报回滚失败PhaseTwo_RollbackFailed_Retryable,如果不查询直接更新就可以回滚成功是为什么呀?

展开
收起
fuxixi 2022-09-26 16:41:20 687 0
1 条回答
写回答
取消 提交回答
  • 跟查询没任何关系,看看什么数据被脏写了。 是因为表弄了两个主键,然后回滚数据时,其中一个主键是字符串,字符串的主键那里却有两个值存在,正常只有一个的(没有更新主键操作),后面把字符串的主键去掉就没有问题了

    2022-09-26 17:21:27
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
《Seata 1.3 新特性以及如何参与社区》 立即下载
事务、全局索引、透明分布式 立即下载
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载