2016-08-01 121 views
2

我正在嘗試從文本文件中讀取數據並將它們輸入到數據庫中。我在符合我的情況的SQL文檔中找到了這個示例:在Java中使用LOAD DATA INFILE

LOAD DATA INFILE 'data.txt' INTO TABLE table2 FIELDS TERMINATED BY ','; 

所以我想用Java寫這個。到目前爲止,我有這樣的:

String insertTableSQL = "LOAD DATA INFILE 'C:/Users/Work/Desktop/test/masterDict'" 
        + "INTO TABLE masterdict" + "FIELDS TERMINATED BY \',\'" 
        ; 

但是這給了我以下錯誤:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TERMINATED BY ','' at line 1

回答

2

你錯過了一些空白:

String insertTableSQL = "LOAD DATA INFILE 'C:/Users/Work/Desktop/test/masterDict '" 
        + " INTO TABLE masterdict" + " FIELDS TERMINATED BY \',\'" 
        ; 

因爲你的查詢字符串將導致:

LOAD DATA INFILE 'C:/Users/Work/Desktop/test/masterDict'INTO TABLE masterdictFIELDS TERMINATED BY \',\' 
+0

延斯感謝您的回答:) it works ih現在沒有語法錯誤,但它給了我這個「MySQL服務器運行 - - secure-file-priv選項,所以它不能執行這個語句」你知道這是什麼嗎? –

+0

@SteveEmman在這裏閱讀:http://stackoverflow.com/questions/32737478/mysql-how-to-tackle-secure-file-priv – Jens

+0

謝謝!我是否應該編輯我的問題以包含此鏈接?我認爲很多初學者也可能遇到這兩個問題。 –