是否可以导入和替换满足多个条件的表中的一列?
假设我有以下两个表:
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 可以不同。
您可以将UPDATE
与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;
数据库<>小提琴
您可以参考以下查询来了解如何继续:
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
请查看表连接和更新一起使用的一致性。