2015-12-30 29 views
2

我有CSV文件,它有3列,我的表有4列(其中一個是我想自動增加的id自動增量)。我想從csv中將3列加載到表中選定的3列。上傳csv文件來選擇表中的列

試過代碼:

LOAD DATA LOCAL INFILE 'info.csv' INTO TABLE tbl_countryip (ipstart, ipend, countrycode) FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' ; 

其拋出錯誤:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n'' at line 1

回答

2

按照以下步驟 -

1)與像SQLyog的任何GUI連接。

2)選擇數據庫>選擇表>右鍵單擊表格>使用負載選擇導入>導入CSV數據...

3)選擇除主鍵的所有列。

4)如果您的csv文件包含標題,請將1放在ingnore行選項中。

5)如果您想通過命令來執行,然後命令應按照如下─

LOAD DATA LOCAL INFILE 'info.csv' INTO TABLE tbl_countryip FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' (ipstart, ipend, countrycode); 

注意點擊進口

:如果您corrent目錄不到哪然後csv文件存在,您需要給完整的路徑。

如果您的CSV文件中包含標題行,那麼你需要將它排除在外按照如下─

LOAD DATA LOCAL INFILE 'info.csv' INTO TABLE tbl_countryip FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (ipstart, ipend, countrycode); 
+0

這是另一種方式,他需要通過查詢來完成。 –

+1

也更新了它。 –

+0

感謝兄弟的幫助 –

2

列的列表是在你的聲明錯了地方。按照文檔中的語法。

你想是這樣的:

LOAD DATA LOCAL INFILE 'info.csv' 
    INTO TABLE tbl_countryip 
    FIELDS TERMINATED BY ',' ENCLOSED BY '"' 
    LINES TERMINATED BY '\r\n' 
    (ipstart, ipend, countrycode) 

參考:http://dev.mysql.com/doc/refman/5.5/en/load-data.html

+0

感謝兄弟的幫助 –

0

我刪除從表中的id列,因此這兩個表和CSV文件有3列,然後跑去負載CSV命令,然後用自動增量在表格中插入一個id列。