join mysql 版本_TiDB数据库left join与版本问题

TiDB集群left join及版本问题

2019-08-14 刘春雷

1、汇总

1.1、情况

TiDB某集群版本

2.1.2

,升级至

3.0.1

,升级无报错

问题:升级后,业务反应:报表平台部分任务执行失败

1.2、问题及解决

问题原因

2.1.2

版本 升级至

3.0.1

版本 后,多于

2个

left join

的SQL执行报错: ERROR 1105 (HY000): Column xxx

.

xxx

is ambiguous

测试:

多个inner join无影响

处理:

升级至

3.0.2

解决

注:希望3.0.1 版本的TiDB小伙伴,如果有偏复杂的left  join 场景,要及时升级至3.0.2版本

感谢TiDB官方小伙伴的及时支持,点赞~

1d44f75bd533c8e8f77ba5e79ae90e62.png

2、复现问题

2.1、具体复现

CREATE TABLE `lcl_test` (

`id` int(11) DEFAULT NULL,

`name2` varchar(10) DEFAULT NULL

) ENGINE=InnoDB ;

insert into lcl_test values (1,'a');

insert into lcl_test values (2,'b');

insert into lcl_test values (3,'c')

【查询SQL】

select

t.id

from

(select id from lcl_test ) t

left join

(select id from lcl_test ) t1

on

t.id

=

t1.id

left join

(select id from lcl_test ) t2

on

t.id

=

t2.id

left join

(select id from lcl_test ) t3

on

t.id

=

t3.id

left join

(select id from lcl_test ) t4

on

t.id

=

t4.id

;

【2.1.0.rc2版本,执行正常】

5922090bc44ea9668b972f6ae47f87fe.png

【mysql5.6版本,执行正常】

ddae69f40b347ed28a01008981148d9d.png

【3.0.1版本,多于2个left join执行报错】

190d6c1a010cbf324b008918ddda04ab.png

【3.0.1 版本 ,left join 个数测试,测试2个left join 可以执行,多余2个,报错】

ae671b0cacabeadd1898b2925be00a1f.png

【3.0.1  版本,多个inner join测试,正常执行】

2bdf3001c61bdc0f8d56d12cd18ce0e7.png

3、处理

3.1、具体处理

升级至

3.0.2

版本 完成

3.2、测试

【3.0.2 版本测试,可以正常执行】

877b52401ec15d6898e3ee44a6370d9b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值