CSV导入到mysql以进行更新

时间:2012-02-27 21:29:13

标签: php mysql csv

将CSV文件上传到MySQL时遇到问题。我想更新现有的数据。以下是一些示例CSV内容:

John,20,1977
Mary,22,1989

在我的MySQL数据库中,我有:

John|18|1977
Mary|22|1990

当我将CSV文件上传到我的MySQL数据库时,我想更新数据而不是添加新数据。我使用PHPMyAdmin上传CSV文件。

3 个答案:

答案 0 :(得分:5)

直接你无法更新。

首先,您需要在临时表中导入数据。然后将主表数据与临时表数据进行比较,并使用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 name_maintable A
INNER JOIN temp_table_import B USING (id)
SET A.columnname= B.columnname;

答案 1 :(得分:0)

您可以使用LOAD DATA更新关键字以获取更多详细信息,请单击 here

答案 2 :(得分: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