-2

我有一个表,我需要将值增加 -1。我在所有更新的列中都得到-1,而不是增加发生。任何帮助表示赞赏。

UPDATE rpt_FYInfo 
SET rptpddiff = rptpddiff - 1
WHERE rptpddiff =0 and UCI= 'BPA'
4

2 回答 2

3

您要确保所有 rptpddiffs 均为 0,然后将它们递减 1。似乎您希望对所有 rptpddiffs 执行此操作,除非您希望所有这些 rptpddiffs 都为 -1。(这就是你如何做-1,-2,-3,-4)

UPDATE rpt_FYInfo 
SET rptpddiff = rptpddiff - 1
WHERE UCI= 'BPA'

除非您希望它们停在 0 或其他值,否则只需更改您的逻辑以匹配。

要增加,只需将您的逻辑更改为,当然您可能想知道有关您正在更新的实体的一些信息,除非 UCI 是它的主键或其他东西。

UPDATE rpt_FYInfo 
SET rptpddiff = rptpddiff + 1
WHERE UCI= 'BPA'
于 2013-07-30T15:36:54.643 回答
0

您在更新语句中设置rptpddiff为 -1,其初始值为 0。

于 2013-07-30T15:39:19.290 回答