我有两张桌子,让他们称之为宠物和主人。两个表都有一个名为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
这是对的吗?我已经运行了查询,但我仍然得到不匹配的结果。
答案 0 :(得分:1)
这是因为你的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