2016-01-22 19 views
2

我試圖上傳一個大的.csv文件到數據庫中(而不是在服務器上,只在我的本地計算機上爲我使用)在MySQL上。我一直有錯誤代碼:1290. MySQL服務器正在運行--secure-file-priv選項,因此它不能執行此語句拋出的錯誤MySQL的'secure-file-priv'不允許加載數據infile,甚至從分配的安全文件夾

我把我的.csv文件放到'my'文件中指定的'safe'文件夾(C:/ ProgramData/MySQL/MySQL Server 5.7/Uploads)中,但它一直給我提供相同的錯誤。我見過的每個解決方案都使用該文件夾目標,因爲這不起作用,任何人都可以幫我解決或關閉secure-file-priv選項?

這裏是我的情況下,代碼想:

LOAD DATA INFILE 'C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\my-file.csv' 
INTO TABLE my-table 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 ROWS; 

感謝您的幫助

回答

1

我有同樣的問題。使用正斜槓而不是反斜槓(即使在Windows機器上)爲我修復它。

2

從MySQL的documentation爲LOAD DATA INFILE:

文件名必須作爲一個字符串。在Windows上,在路徑名稱中將反斜槓指定爲正斜槓或反斜槓。 character_set_filesystem系統變量控制文件名的解釋。

LOAD DATA INFILE "C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/my-file.csv" 
INTO TABLE my-table 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 ROWS; 
+0

您可以通過添加正確的代碼副本來提高答案的質量。 – toonice

相關問題