infobright導(dǎo)入數(shù)據(jù)遇到特殊字符報(bào)錯(cuò)的解決方法
目前在用的是社區(qū)版的infobright,不支持DML功能,只能用LOAD DATA方式導(dǎo)入數(shù)據(jù)。
如果元數(shù)據(jù)中有特殊控制字符,導(dǎo)入過程中經(jīng)常會(huì)報(bào)錯(cuò),很是惱火。應(yīng)對(duì)策略有兩種方法:
1.設(shè)置Reject File導(dǎo)入之前,設(shè)定 @BH_REJECT_FILE_PATH 和 @BH_ABORT_ON_COUNT 就可以忽略多少條導(dǎo)入失敗的記錄,并且將這些記錄保存在指定文件
set @BH_REJECT_FILE_PATH = '/tmp/reject_file';
set @BH_ABORT_ON_COUNT = 10;
BH_ABORT_ON_COUNT 設(shè)定為 -1 的話,表示永不忽略。
也可以設(shè)置 BH_ABORT_ON_THRESHOLD 選項(xiàng),該選項(xiàng)表示有最多多少百分比的數(shù)據(jù)允許被忽略,因此該選項(xiàng)的值是小數(shù)格式,例如 BH_ABORT_ON_THRESHOLD = 0.03(表示3%)
2.導(dǎo)出時(shí)指定結(jié)束符此外,還可以在導(dǎo)出數(shù)據(jù)時(shí)制定結(jié)束符,并且設(shè)定忽略哪些轉(zhuǎn)義字符(\、”、' 等字符),例如:
3.或者,將行間隔符設(shè)定為其他特殊標(biāo)識(shí),例如:select fields_list… into outfile ‘/tmp/outfile.csv' fields terminated by ‘||' ESCAPED BY ‘\\' lines terminated by ‘$$$$$\r\n' from mytable;當(dāng)然了,這種情況下,實(shí)際數(shù)據(jù)行中就不能存在 “$$$$$\r\n” 這個(gè)值了,否則會(huì)被當(dāng)成換行標(biāo)識(shí)。
相關(guān)文章
MYSQL數(shù)據(jù)表損壞的原因分析和修復(fù)方法小結(jié)(推薦)
MYSQL數(shù)據(jù)表損壞的原因分析和修復(fù)方法小結(jié),碰到的朋友可以參考,下面整理一些比較全,希望對(duì)大家有所幫助。2011-01-01MySql修改數(shù)據(jù)庫編碼為UTF8避免造成亂碼問題
mysql 創(chuàng)建數(shù)據(jù)庫時(shí)指定編碼很重要,很多開發(fā)者都使用了默認(rèn)編碼,亂碼問題可是防不勝防,下面與大家分享下通過修改數(shù)據(jù)庫默認(rèn)編碼方式為UTF8來減少數(shù)據(jù)庫創(chuàng)建時(shí)的設(shè)置,避免因粗心造成的亂碼問題2013-06-06MySQL行級(jí)鎖、表級(jí)鎖、頁級(jí)鎖詳細(xì)介紹
這篇文章主要介紹了MySQL行級(jí)鎖、表級(jí)鎖、頁級(jí)鎖詳細(xì)介紹,同時(shí)列舉了一些實(shí)例說明,需要的朋友可以參考下2014-05-05mysql根據(jù)拼音字母查詢(簡單易懂的字段拼音查詢)
MySQL在開發(fā)中,我們經(jīng)常需要根據(jù)字段拼音查詢數(shù)據(jù)庫中的數(shù)據(jù),它支持多種查詢方式,包括根據(jù)拼音字母查詢,使用 Collation 可以方便地進(jìn)行簡單的拼音查詢,而使用拼音索引可以大幅提高查詢性能,根據(jù)具體的需求和情況,我們可以選擇合適的方法來實(shí)現(xiàn)拼音查詢2023-10-10