Php CSV导入到mysql进行更新

Php CSV导入到mysql进行更新,php,mysql,csv,Php,Mysql,Csv,我上传CSV文件到MySQL时遇到问题。我想更新当前的数据。以下是一些CSV内容示例: John,20,1977 Mary,22,1989 在我的MySQL数据库中,我有: John|18|1977 Mary|22|1990 当我将CSV文件上传到MySQL数据库时,我希望更新数据,而不是添加新数据。我使用PHPMyAdmin上传CSV文件。直接无法更新 首先,需要导入临时表中的数据。然后将主表数据与临时表数据进行比较,并使用updatejoin查询进行更新 步骤1)创建另一个用于导入的表

我上传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)执行导入到临时表格的导入

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;

你不能直接更新

首先,需要导入临时表中的数据。然后将主表数据与临时表数据进行比较,并使用
update
join
查询进行更新

步骤1)创建另一个用于导入的表

CREATE TABLE temp_table_import LIKE name_maintable;
步骤2)执行导入到临时表格的导入

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;

您可以用加载数据替换关键字以获取更多详细信息单击

您可以用加载数据替换关键字以获取更多详细信息单击

最后一行应该是

SET B.columnname= A.columnname;
因为您想更新表B而不是表A

最后一行应该是

SET B.columnname= A.columnname;
因为您想更新表B而不是表A