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 可以不同。

您可以将UPDATEJOIN一起使用。

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;

数据库<>小提琴

您可以参考以下查询来了解如何继续:

UPDATE 
existing_data
INNER JOIN new_import ON new_import.id = existing_data.id 
SET  existing_data.count2 = new_import.count2,
existing_data.count1 = new_import.count1
WHERE existing_data.id = 1  

请查看表连接和更新一起使用的一致性。

最新更新