首页 > 解决方案 > MySQL导入和替换满足多个条件的单个列

问题描述

是否可以在满足多个条件的表中导入和替换一列?

可以说我有以下两个表:

id, name, folder, subfolder, count1, count2
1, A, New,  Car, 3, 5
2, B, Old, MC, 6, 8
3, C, Brand, Cycle, 4, 8



id, name, folder, subfolder, count1, count2
1, A, New,  Car, 0, 0
2, B, Old, MC, 0, 0
3, C, Brand, Cycle, 0, 0

我正在寻找的是更新和替换所有名称、文件夹和子文件夹值与导入表相同的所有条目的 count1、count2 值,并跳过其他所有内容。

我不能使用 ID 作为参考,因为 ID 可以不同。

标签: mysql

解决方案


您可以使用UPDATEwith JOIN

UPDATE elbat1
       INNER JOIN elbat2
                  ON elbat2.name = elbat1.name
                     AND elbat2.folder = elbat1.folder
                     AND elbat2.subfolder = elbat1.subfolder
       SET elbat1.count1 = elbat2.count1,
           elbat1.count2 = elbat2.count2;

db<>小提琴


推荐阅读