【概述】 场景 + 问题概述
在做mysql与tidb兼容性测试的时候,表中有虚拟列C,虚拟列C引用虚拟列B,虚拟列B引用字段A,update字段A时,TiDB中虚拟列C并没有更新,但是Mysql中是更新了的。
【背景】 做过哪些操作
我在mysql与tidb中分别做了以下测试:
TIDB:
Mysql:
【问题】 当前遇到的问题
我在测试的时候还发现,如果没有c这个虚拟列,也就是说address直接引用a字段中的值,再去更新时是正常的。
是我使用不当还是bug?
【TiDB 版本】
V5.4.0
啦啦啦啦啦
2
dba-kit
(张天师)
3
应该是TiDB的一个BUG,不过如果TiDB不是作为写入端使用,而是作为DM同步的下游,倒是可以考虑在TiDB侧直接把该字段改成普通的varchar或者json类型。
啦啦啦啦啦
6
我们mysql也有用虚拟列的,不过目前tidb里json都还是实验特性。
cs58_dba
(Cs58 Dba)
7
不过虚拟列这东西,兼容性确实不太好,我们下游大数据cdh也同步不了虚拟列
system
(system)
关闭
8
该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。