我们有一个由几种用户类型组成的社交网络,我们希望向所有客户帐户添加$ 7.04美元,以庆祝7月4日的美国假期。
我使用了以下SQL命令:
UPDATE `database`.`databasename` SET fCreditAmount = fCreditAmount + 7.04 WHERE eUserType = 'C'
但是,当我执行此操作时,似乎要记入多次。因此,与其给每个客户7.04美元,不如给某些客户1000美元的信用。
有人知道为什么会这样吗?
我们的“余额”表结构为:
iBalanceId (autoincrement)
iUserId
eUserType
eBalType
fCreditAmount
fDebitAmount
dEntryDate
dValueDate
vDescritption
vBalTypeCode
iRefId
vRefTypeCode
iAddedUserId
eAddedUserType
vProcessDescription
eBalanceStatus
没有更多信息很难说,但似乎您要为用户历史记录中的每笔交易增加$ 7.04。因此,每个用户都在获得7.04 * numberOfTransactions
荣誉。
您应该添加所需数量的新事务(INSERT)。这样,每个帐户将只获得一次抵免额。
我当然希望您不要在生产数据库中这样做!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句