2014-03-28 54 views
1

我試圖從Excel 2010導入表格到MySQL 5.6通過MySQL的Excel。錯誤1064從Excel導入數據,保留字符

它出現了錯誤給了我一個MySQL Error 1064: You have an error in your SQL syntax...

的實際字符導致了錯誤的數據字段內分號被導入。當我替換所有的「;」與&#59#(但&#59;)它工作正常。

如何在不更改數據的情況下導入這些文件?

回答

0

我還沒有找到使用MySQL for Excel的解決方案,但作爲替換分號的替代方法,您可以將Excel工作表保存爲CSV文件並使用LOAD DATA INFILE。以下是你可能會從Windows機器使用與數據庫服務器的遠程連接的語法的例子:有前進的LOAD DATA聲明斜線

LOAD DATA LOCAL INFILE 'c:/path/to/my_excel_data.csv' 
INTO TABLE my_table 
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n' 

MySQL將正確地解釋一個Windows路徑。

請注意,LOCAL關鍵字信號用於MySQL客戶端讀取文件,因此在本例中「本地」意味着客戶端軟件,而不是數據庫服務器。

如果您的電子表格中的任意單元格中都有無與倫比的"字符,則這可能也會有點奇怪。例如,如果單元格包含here is " an unmatched double-quote,則Excel將以雙引號將字符串括起來,並在保存爲CSV時將字符串中的不匹配雙引號加倍,因此您得到的結果是"here is "" an unmatched double-quote"。我不確定MySQL在這種情況下會如何反應。

+0

是的,我試過了,但正如你所說的,它帶來了無法匹敵的雙引號,單引號和我用過的每一個分隔符的問題。 –