我将CSV文件上传到MySQL时遇到问题.我想更新现有的数据.以下是一些示例CSV内容:
John,20,1977
Mary,22,1989
Run Code Online (Sandbox Code Playgroud)
在我的MySQL数据库中,我有:
John|18|1977
Mary|22|1990
Run Code Online (Sandbox Code Playgroud)
当我将CSV文件上传到我的MySQL数据库时,我想更新数据而不是添加新数据.我使用PHPMyAdmin上传CSV文件.
小智 5
直接你无法更新.
首先,您需要在临时表中导入数据.然后将主表数据与临时表数据进行比较并使用update join 查询进行更新.
步骤1)创建另一个用于导入的表
CREATE TABLE temp_table_import LIKE name_maintable;
Run Code Online (Sandbox Code Playgroud)
步骤2)执行导入到temp_table_import
LOAD DATA INFILE 'somefile.csv' INTO TABLE temp_table_import ...
Run Code Online (Sandbox Code Playgroud)
步骤3)执行更新加入
UPDATE name_maintable A
INNER JOIN temp_table_import B USING (id)
SET A.columnname= B.columnname;
Run Code Online (Sandbox Code Playgroud)