324 Star 2.4K Fork 857

AE86/DBSyncer

 / 详情

mysql同步时多主键生成的查询语句条件有问题,不能查到所有数据

已完成
创建于  
2023-05-18 14:01

经过跟踪代码发现生成的sql存在问题,这个条件查不出所有数据:
主键是PRIMARY KEY (id,rid,sid,orid)

跟踪代码到AbstractDatabaseConnector.reader
String querySql = config.getCommand().get(queryKey);这句返回的sql

SELECT `id`,`rid`,`sid`,`orid`, `modifytime`, `mastertoldap`, `starttime`, `endtime`, `authdesc` FROM `t_user_auth` 
WHERE `id` > ?  AND `rid` > ?  AND `sid` > ?  AND `orid` > ?  
ORDER BY `id`,`rid`,`sid`,`orid` LIMIT ?,?

评论 (1)

hero00ok 创建了任务
hero00ok 修改了描述
AE86 任务状态待办的 修改为进行中
展开全部操作日志

优化方案:使用复合主键时,不使用order by语句

AE86 里程碑设置为2.0.2
AE86 负责人设置为life
life 通过 ghi/dbsyncer Commit 1f26340任务状态进行中 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
376718 ghi 1660456020
Java
1
https://gitee.com/ghi/dbsyncer.git
git@gitee.com:ghi/dbsyncer.git
ghi
dbsyncer
DBSyncer

搜索帮助

Cb406eda 1850385 E526c682 1850385