canal left join 的时候,新增和删除都能同步,但是子表数据清理完的时候,es数据不能设置为空

uubf1zoe  于 4个月前  发布在  其他
关注(0)|答案(3)|浏览(125)

select a.id as _id, a.name as _name, a.role_id as _role_id, b.role_name as _role_name,
a.c_time as _c_time, c.labels as _labels from user a
left join role b on b.id=a.role_id
left join (select user_id, group_concat(label order by id desc separator ';') as labels from label
group by user_id) c on c.user_id=a.id

比如针对user 表 id=2 的 主表数据清理子表 label,单条单条清理,数据能同步,但是清理 完label 里面 user_id=2的数据,es 数据不能清空。。这是bug?

anhgbhbe

anhgbhbe2#

我也遇到了,在删除单条没问题,但是全部删除就是保持之前的,也在官方文档上看到是子sql不允许返回null,可能还没有完全支持

klsxnrf1

klsxnrf13#

考虑使用父子文档吧

相关问题