我一直在寻找我的问题的答案,但无济于事。问题如下,当我尝试在 SQL 中的单个 UPDATE 语句上多次更新一个值时,它总是会更新一次。就好像 UPDATE 语句正在处理我的表的副本并始终覆盖原始表上的值,因此结果表的值仅增加 1 而不是使用 value=value 设置值的次数+1。
这是一个例子:
UPDATE Home, Person
SET Home.NumberOfChilds=Home.NumberOfChilds+1
WHERE Home.State= Person.State
AND Home.ZoneCode = Person.ZoneCode
AND Home.Address = Person.Address
AND Person.IsChild = true;
在这种情况下,如果一个家庭有 3 个孩子,那么该家庭的孩子数量将是 1,而我需要它是 3。提前致谢。