Tableau連接mysql8文本字段顯示爲空解決

在使用Tableau連接mysql時,mysql數據表爲文本的字段,在Tableau中爲空,但通過查詢是可以獲取的。
經檢查發現,這是因爲在建表時編碼方式導致的問題。
之前建表語句是:

CREATE TABLE IF NOT EXISTS {tablename} (
            sites_id VARCHAR(10) COMMENT '平臺',
            channel_id VARCHAR(10) COMMENT '類型',
            categroy_1st VARCHAR(10) COMMENT '主貼/回貼',
            car_category VARCHAR(10) COMMENT '細分市場' ,
            car_country VARCHAR(10) COMMENT '國別',
            brand VARCHAR(20) COMMENT '品牌',
            car_series VARCHAR(20) COMMENT '車型',
            pgcugc VARCHAR(1) COMMENT '是否PGC',
            volume INT COMMENT '聲量',
            datelabel DATE COMMENT '日期',
            year varchar(4) comment '年份',
            month varchar(2) comment '月份',
            day varchar(2) comment '日’);

沒有指定編碼方式,使用show create table tablename查看建表語句,結果如下:

CREATE TABLE IF NOT EXISTS {tablename} (
            sites_id VARCHAR(10) COMMENT '平臺',
            channel_id VARCHAR(10) COMMENT '類型',
            categroy_1st VARCHAR(10) COMMENT '主貼/回貼',
            car_category VARCHAR(10) COMMENT '細分市場' ,
            car_country VARCHAR(10) COMMENT '國別',
            brand VARCHAR(20) COMMENT '品牌',
            car_series VARCHAR(20) COMMENT '車型',
            pgcugc VARCHAR(1) COMMENT '是否PGC',
            volume INT COMMENT '聲量',
            datelabel DATE COMMENT '日期',
            year varchar(4) comment '年份',
            month varchar(2) comment '月份',
            day varchar(2) comment '日’) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

發現mysql或默認指定ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci。

爲解決該問題,我們在建表的時候就應該指定編碼方式,新的建表語句如下:
指定編碼方式爲ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin

CREATE TABLE IF NOT EXISTS {tablename} (
            sites_id VARCHAR(10) COMMENT '平臺',
            channel_id VARCHAR(10) COMMENT '類型',
            categroy_1st VARCHAR(10) COMMENT '主貼/回貼',
            car_category VARCHAR(10) COMMENT '細分市場' ,
            car_country VARCHAR(10) COMMENT '國別',
            brand VARCHAR(20) COMMENT '品牌',
            car_series VARCHAR(20) COMMENT '車型',
            pgcugc VARCHAR(1) COMMENT '是否PGC',
            volume INT COMMENT '聲量',
            datelabel DATE COMMENT '日期',
            year varchar(4) comment '年份',
            month varchar(2) comment '月份',
            day varchar(2) comment '日’) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章