我有一個問題,當我上傳CSV文件到MySQL。我想更新存在的數據。下面是一些例子CSV內容:CSV導入到MySQL的更新
John,20,1977
Mary,22,1989
在我的MySQL數據庫中,我有:
John|18|1977
Mary|22|1990
當我CSV文件上傳到我的MySQL數據庫,我想更新,而不是添加新的數據的數據。我使用PHPMyAdmin上傳CSV文件。
我有一個問題,當我上傳CSV文件到MySQL。我想更新存在的數據。下面是一些例子CSV內容:CSV導入到MySQL的更新
John,20,1977
Mary,22,1989
在我的MySQL數據庫中,我有:
John|18|1977
Mary|22|1990
當我CSV文件上傳到我的MySQL數據庫,我想更新,而不是添加新的數據的數據。我使用PHPMyAdmin上傳CSV文件。
直接無法更新。
首先,您需要將數據導入臨時表中。然後將主表數據與臨時表數據進行比較,並使用update
join
查詢進行更新。
步驟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;
您可以使用LOAD DATA REPLACE關鍵字瞭解更多詳情請點擊 here
UPDATE name_maintable B
INNER JOIN temp_table_import A USING (id)
SET A.columnname= B.columnname;
最後一行應改爲
SET B.columnname= A.columnname;
只要你想更新表B中不表A中