mysql中Load Data記載換行成績的處理辦法。本站提示廣大學習愛好者:(mysql中Load Data記載換行成績的處理辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql中Load Data記載換行成績的處理辦法正文
成績是如許的:
表persons有兩個字段: id和name
文本文檔persons.txt中內容(個中每行字段之間用tab朋分):
1 Bush
2 Carter
3 Bush
在mysql敕令行下應用 load data local infile “persons.txt” into table persons 導入數據到persons表中。
導入後檢查persons表的數據,與persons.txt的內容分歧。然則應用語句
select distinct name from persons
查詢,成果中Bush湧現了兩次(正常成果應當是Bush只湧現一次)。
緣由剖析:
經由剖析,發明緣由是windows下換行符為"\r\n",而mysql在load data時默許應用"\n"來切割每行記載,招致拔出到表中前兩筆記錄的name字段末尾多拔出了弗成見字符"\r";也就是說應用distinct症結字查詢出來的兩個Bush中,第一個詞尾有回車符"\r”,而第二個詞尾沒有。
解釋:
1. mysql默許應用tab來朋分每行的字段。
2. 由於linux下換行符為"\n",所以在linux下不會湧現上述成績。
修正辦法:
只需在導入數據時指定以"\r\n"來換行便可以了。
修正後的導入數據語句為:
load data local infile “persons.txt” into table persons
lines terminated by “\r\n”;