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官方小夥伴的及時支持,點贊~
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版本,執行正常】
【mysql5.6版本,執行正常】
【3.0.1版本,多於2個left join執行報錯】
【3.0.1 版本 ,left join 個數測試,測試2個left join 可以執行,多餘2個,報錯】
【3.0.1 版本,多個inner join測試,正常執行】
3、處理
鄭州不孕不育醫院:http://jbk.39.net/yiyuanzaixian/zztjyy/
3.1、具體處理
升級至 3.0.2 版本 完成
3.2、測試
【3.0.2 版本測試,可以正常執行】