确认
- [X] 我的版本是最新版本, 我的版本号与 version 相同, 并且项目里无依赖冲突
- [X] 我已经在 issue 中搜索过, 确认问题没有被提出过
- [X] 我已经修改标题, 将标题中的 描述 替换为遇到的问题
功能改进
在原来的逻辑删除中曾经使用过时间戳的形式作为delVal的值,但是还是会出现分布式并发导致的数据冲突问题。就举个例子,我的delFlag以前的TableLogic注解是使用@TableLogic(value = "0",delval = "REPLACE(unix_timestamp(now(6)),'.','')")去进行逻辑删除时的delVal的,而在发布线上后不久就出现了数据冲突问题,所以才需要多一个delFlagNo,以本条数据的雪花算法id作为值防止逻辑删除导致的数据冲突,前面说到的delFlag有业务含义,这是我表达有误,十分抱歉。对于这个问题可以有更好的解决办法吗?
参考资料
https://geek.ds3783.com/2023/07/%E7%BA%B3%E7%A7%92%E7%BA%A7%E6%97%B6%E9%97%B4%E6%88%B3%E5%86%B2%E7%AA%81%E5%BE%88%E5%B8%B8%E8%A7%81/
Comment From: Noel443
其实具体业务上就是一些定时器的逻辑删除之类的那些会导致数据冲突问题,这是真实在线上发生过的
Comment From: DeH40
@TableLogic(value = "0",delval = "id")