2016-02-05 24 views
0

我們有一個CMS網站,用戶可以在其中註冊帳戶並向帳戶添加資金。我不想讓你知道細節,但客戶存入的錢存儲在他們的「在線錢包」中,他們可以使用這筆錢在我們的網站上購買產品。MySQL - 如何在所有用戶的帳戶中插入值

我想給每個用戶$ 5.00。

我知道如何手動插入$ 5.00到單個用戶的記錄,但我不知道我可以爲所有用戶做..

下面是一條記錄SQL代碼(我加了5 $用戶ID 14013):

INSERT INTO `database`.`databasetable` (
`iBalanceId` , 
`iUserId` , 
`eUserType` , 
`eBalType` , 
`fCreditAmount` , 
`fDebitAmount` , 
`dEntryDate` , 
`dValueDate` , 
`vDescritption` , 
`vBalTypeCode` , 
`iRefId` , 
`vRefTypeCode` , 
`iAddedUserId` , 
`eAddedUserType` , 
`vProcessDescription` , 
`eBalanceStatus` 
) 
VALUES (
'19499', '14013', 'C', 'C', '5.00', '0.00', '2016-02-04 21:11:54', '2016-02-04', 'manual deposit', 'D', '0', 'CR', '0', 'S', 'manual deposit', 'A' 
); 

19499是記錄數

14013被接受$ 5美元的

我怎麼能修改此SQL代碼不再年輕時尚的用戶ID它的所有用戶$ 5.00?

非常感謝您的幫助。

+0

是否備案號是自動遞增? –

+1

使用alter table記錄來設置你的列fCreditAmount = fCreditAmount + 5.00像這樣,而不使用任何用戶標識,如果你願意,也可以添加條件。 – C2486

+0

你有單獨的用戶表嗎?你如何拿出創紀錄的數字? –

回答

0

我相信你已經有用戶了,只是想爲每個用戶增加5.00,所以sql查詢就會成功。

UPDATE `database`.`databasetable` SET fCreditAmount = fCreditAmount + 5.00; 

如果你已經增加一個,所以你可以除了一個。

UPDATE `database`.`databasetable` SET fCreditAmount = fCreditAmount + 5.00 WHERE iUserId != 14013 ; 
+0

謝謝,我會試試這個。但是我忘了提到另一件事。 eUserType需要是'C'。例如,我們有幾種用戶類型('A','O','C','G','AF','N'),我需要記錄所有eUserType'C'。 – Gary

+0

在哪裏可以添加這樣的條件_where eUserType ='C'_。只是不提供用戶ID來更新所有用戶。 – C2486

0

從用戶表插入多條記錄到databasetable。

我假設iBalanceId是自動增量字段!

INSERT INTO `database`.`databasetable` (
`iUserId` , 
`eUserType` , 
`eBalType` , 
`fCreditAmount` , 
`fDebitAmount` , 
`dEntryDate` , 
`dValueDate` , 
`vDescritption` , 
`vBalTypeCode` , 
`iRefId` , 
`vRefTypeCode` , 
`iAddedUserId` , 
`eAddedUserType` , 
`vProcessDescription` , 
`eBalanceStatus` 
) 
(
    SELECT id as iUserId, 
    'C' as eUserType, 
    'C' as eBalType, 
    '5.00' as fCreditAmount, 
    '0.00' as fDebitAmount, 
    '2016-02-04 21:11:54' as dEntryDate, 
    '2016-02-04' as dValueDate, 
    'manual deposit' as vDescritption, 
    'D' as vBalTypeCode, 
    '0' as iRefId, 
    'CR' as vRefTypeCode, 
    '0' as iAddedUserId, 
    'S' as eAddedUserType, 
    'manual deposit' as vProcessDescription, 
    'A' as eBalanceStatus 
    FROM user 
) 
0

如果已經在你的表中的記錄,那麼你需要的所有行的UPDATE查詢:

UPDATE databasename SET fCreditAmount = fCreditAmount + 5.00 WHERE iUserId <> '' 
相關問題