2016-04-01 42 views
0

我正在使用mysql加載數據內聯來將csv加載到數據庫中。我知道這是在字符串周圍添加雙引號的默認行爲,但我希望有一個選項可以關閉它。我測試過,如果一個字符串在汽車之間沒有空間。但是,如果字符串是我的車,它會顯示爲「我的車」。我嘗試了很多東西,但似乎無法擺脫這些引號。我在所有的列周圍添加了雙引號,並使用Mysql ESCAPED BY,但這沒有奏效。MySql加載數據內聯在字符串附近添加雙引號

+0

請寫你的SQL查詢。我建議你在保存時更改CSV,爲字段分隔符選擇不同的選項 – Xenofexs

回答

0

我不喜歡你使用excel。打開辦公室計算是更好的,因爲他可以保存CSV更多的選項(並在UTF-8)

看我的配置,當我使用加載數據infile之前保存我的CSV(我沒有英文打開辦公室,sry )。

enter image description here

而且我對添加CSV在數據庫代碼:

$dataload = 'LOAD DATA LOCAL INFILE "'.$nomfichier.'" 
         REPLACE 
         INTO TABLE '.$this->csvTable.' CHARACTER SET "utf8" 
         FIELDS TERMINATED BY "\t" 
         IGNORE 1 LINES 
        '; 

如果您無法訪問到CSV救他你怎麼想,你可以使用SQL選項。 Doc特別是這條線:

[{FIELDS | COLUMNS} 
     [TERMINATED BY 'string'] 
     [[OPTIONALLY] ENCLOSED BY 'char'] 
     [ESCAPED BY 'char'] 
    ] 
    [LINES 
     [STARTING BY 'string'] 
     [TERMINATED BY 'string'] 
    ] 
+1

不幸的是,在這種情況下,這對我不起作用。我嘗試了自己創建的LibreOffice路由和文本文件。這也是一個新問題,因爲以前導入的數據版本沒有這個問題。它似乎只在該字段中有雙引號字符時出現。我目前正在考慮如何移除它,但它並不優雅。 – dengar81

相關問題