我一直在尋找對我的問題的答案,但無濟於事。 問題如下,當我嘗試在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