我有一个名为person_relation
Id | ParentId | ChildId | PersonId
-------------------------------------------
1 | null | 2 | null
-------------------------------------------
2 | 1 | 3 | null
-------------------------------------------
3 | 2 | 4 | 122
-------------------------------------------
4 | 3 | null | 122
-------------------------------------------
这4行属于id为122的一个人。 我正在努力更新PersonId列;前两行应该有122作为PersonId。
Id | ParentId | ChildId | PersonId
-------------------------------------------
1 | null | 2 | null
-------------------------------------------
2 | 1 | 3 | null
-------------------------------------------
3 | 2 | 4 | 122
-------------------------------------------
4 | 3 | null | 122
-------------------------------------------
5 | null | 6 | 123
-------------------------------------------
6 | 5 | 7 | null
-------------------------------------------
7 | 6 | 8 | 123
-------------------------------------------
8 | 7 | null | null
-------------------------------------------
现在桌子有两个人,他们的ids是122和123.它可能有很多人。 所以上面的回复都行不通。因此,我们需要一种迭代方法来更新这些行。
答案 0 :(得分:1)
update person_relation
set personid = 122
where personid is null
答案 1 :(得分:0)
Juergen的回答将完成工作,但我愿意打赌你的数据集不仅限于这四行。我会做一些更安全的事情:
update person_relation
set PersonId = 122
where Id IN (1,2)
答案 2 :(得分:0)
在parent_id中应该存在关系..如果其中4个属于家庭。然后他们的孩子应该将parentID列值作为父母ID号...(在这种情况下为1或2)。并且我想知道如果父ID是 null ,如果它们属于同一个家庭,那么它们是什么?
如果父母的身份证明是正确的,那么你可以正确更新孩子的人身ID。