我試圖從Excel 2010導入表格到MySQL 5.6通過MySQL的Excel。錯誤1064從Excel導入數據,保留字符
它出現了錯誤給了我一個MySQL Error 1064: You have an error in your SQL syntax...
的實際字符導致了錯誤的數據字段內分號被導入。當我替換所有的「;」與;#
(但不;
)它工作正常。
如何在不更改數據的情況下導入這些文件?
我試圖從Excel 2010導入表格到MySQL 5.6通過MySQL的Excel。錯誤1064從Excel導入數據,保留字符
它出現了錯誤給了我一個MySQL Error 1064: You have an error in your SQL syntax...
的實際字符導致了錯誤的數據字段內分號被導入。當我替換所有的「;」與;#
(但不;
)它工作正常。
如何在不更改數據的情況下導入這些文件?
我還沒有找到使用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在這種情況下會如何反應。
是的,我試過了,但正如你所說的,它帶來了無法匹敵的雙引號,單引號和我用過的每一個分隔符的問題。 –