我在进行此查询时获得了帮助,但我需要查询仅影响不为空的单元格
我有这个问题
我有一个名为“ person”的表,如下所示:
id name country father_id
52 bob NULL 68
68 joe Maui 72
53 mia NULL 68
51 robbie NULL 68
我现在想直接在数据库中运行查询以全部更新
与他们的祖父国家/地区同一个国家的person.id
所以人员表将如下所示:
id name country father_id
52 bob Maui 68
68 joe Maui 72
53 mia Maui 68
51 robbie Maui 68
所以我的问题是我如何根据person.id进行更新
父亲的国家
我在下面得到了这个解决方案,但是如上所述,我需要更新以仅影响具有值的单元格,而不影响NULL单元格...
update person p join
person father
on p.father_id = father.id
set p.country = father.country;
最佳答案
添加WHERE
子句
UPDATE person AS p
INNER JOIN person AS father
ON p.father_id = father.id
SET p.country = father.country
WHERE p.country IS NULL
AND father.country IS NOT NULL
关于mysql - 仅当父值不为NULL时才基于父ID更新单元格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21419807/