2012-02-27 88 views
1

我有一個問題,當我上傳CSV文件到MySQL。我想更新存在的數據。下面是一些例子CSV內容:CSV導入到MySQL的更新

John,20,1977 
Mary,22,1989 

在我的MySQL數據庫中,我有:

John|18|1977 
Mary|22|1990 

當我CSV文件上傳到我的MySQL數據庫,我想更新,而不是添加新的數據的數據。我使用PHPMyAdmin上傳CSV文件。

回答

5

直接無法更新。

首先,您需要將數據導入臨時表中。然後將主表數據與臨時表數據進行比較,並使用updatejoin查詢進行更新。

步驟1)創建另一個表來使用用於導入

CREATE TABLE temp_table_import LIKE name_maintable; 

步驟2)執行導入到temp_table_import

LOAD DATA INFILE 'somefile.csv' INTO TABLE temp_table_import ... 

步驟3)執行更新JOIN

UPDATE name_maintable A 
INNER JOIN temp_table_import B USING (id) 
SET A.columnname= B.columnname; 
0

您可以使用LOAD DATA REPLACE關鍵字瞭解更多詳情請點擊 here

0
UPDATE name_maintable B 
INNER JOIN temp_table_import A USING (id) 
SET A.columnname= B.columnname; 

最後一行應改爲

SET B.columnname= A.columnname; 

只要你想更新表B中不表A中