我有两个桌子,我们称它们为“宠物”和“主人”。这两个表都有一个名为country_id的列,无论出于何种原因,在其中的Pets.Country_ID都不等于Owners.Country_ID(它们应该匹配)。
为了解决这个问题,我运行了以下命令:
UPDATE pets
INNER JOIN owners ON owners.id = pets.owner_id
SET pets.country_id = IF(owners.country_id != pets.country_id,
pets.country_id, owner.country_id)
WHERE pets.country_id != owners.country_id
它是否正确?我已经运行了查询,但是结果仍然不匹配。
最佳答案
这是因为完全不需要的if
子句是错误的。只需将其删除
UPDATE pets
INNER JOIN owners ON owners.id = pets.owner_id
SET pets.country_id = owners.country_id
WHERE pets.country_id != owners.country_id
关于mysql - MySQL设置更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50697212/