将CSV文件上传到MySQL时遇到问题。我想更新现有的数据。以下是一些CSV内容示例:
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)执行UPDATE JOIN
UPDATE name_maintable A
INNER JOIN temp_table_import B USING (id)
SET A.columnname= B.columnname;
您可以将关键字替换为LOAD DATA以获取更多详细信息,请单击此处
UPDATE name_maintable B
INNER JOIN temp_table_import A USING (id)
SET A.columnname= B.columnname;
最后一行应该是
SET B.columnname= A.columnname;
因为您想要更新表B而不是表A