我一直在寻找对我的问题的答案,但无济于事。 问题如下,当我尝试在SQL中的单个UPDATE语句上多次更新一个值时,它总是会更新一次。就好像UPDATE语句正在处理我的表的一个副本并始终覆盖原始表上的值,因此结果表只将值增加1,而不是通过value = value设置值的次数+1。在单个UPDATE上不止一次在mysql上增加值
下面是一个例子:
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。在此先感谢。
你的模式是什么? – wazy
这只是一个例子,因为JOIN更长,我的表格和属性不是英文的。 State,ZoneCode和Adress将成为Home的PK,而State,ZoneCode,Adress和NumberOfPerson将成为Person的PK,前三个将是FK参考Home。 NumberOfChilds是一个十进制(4,0)。希望它有帮助,谢谢你的兴趣。 – eduedu87