0
我正在將數據加載到MySQL看似基本的問題。我使用的是:MySQL數據加載數據在最後一個字段中包含字符和字段終止符
LOAD DATA LOCAL INFILE 'C:/.../Contrato.txt'
INTO TABLE schema.contrato
FIELDS TERMINATED BY ';' ENCLOSED BY '|' LINES TERMINATED BY '/r/n' IGNORE 0 LINES;
在文件中的每一行看起來是這樣的,由另一程序產生:
|abc|;|cde|;|123|;|456|;|name|\r\n
當執行負載,似乎一切正常加載,除了最後一個領域。當我看着桌子時,最後一個字段實際上顯示了'|'名字周圍的字符。這不是世界末日,但奇怪的是它會這樣做。截至目前,我正在通過添加';'來修復它。在\ r \ n字符之前。
這是應該這樣做嗎?爲什麼我需要在行結束符之前添加字段終結符以刪除字段enclosers?
但您設法複製這個問題。這是與文件結尾有關的錯誤嗎?爲了安全起見,我留下了額外的分號並按照您的建議更改了斜線。謝謝回覆! – olvc89
這不是一個與文件結束相關的錯誤 - 請參閱我編輯的答案。這就是爲什麼你的文本文件的路徑名起作用的原因 - 如果你對Windows使用通常的反斜槓路徑分隔符,那麼你需要將它們加倍 - 幸運的是大多數(不是全部)s/w默默地設置正確的分隔符,所以你可以使用forwardslash作爲MySQL的路徑分隔符。 – PaulF
我明白了。但它怎麼仍然分開線路?它是否在指定字符串的頂部使用默認值? – olvc89