簡體   English   中英

mysql-一次更新兩個記錄

[英]mysql - update two records at once

使用PHP的msqli是否可以通過一個查詢更新兩個記錄?

首先,我執行SELECT來檢查$ pay_user的帳戶中是否有足夠的游戲貨幣,如果他這樣做,則執行以下操作...

我的更新查詢是:

“更新帳戶SET money = money-“。$ money。” WHERE User_id =“。$ pay_user

“更新帳戶SET money = money +“。$ money。” WHERE User_id =“。$ recieve_user

停止臟讀是事務性的。

我希望保存查詢並將其稱為一個...可能嗎?

由於兩個where子句不同,因此無法將這些查詢合並為一個語句。

您可以將其標記為TRANSACTION,以便它們可以同時執行。

請參閱http://dev.mysql.com/doc/refman/5.0/en/update.html

代碼樣本

update account a1, account a2 
set a1.money = a1.money - $money , a2.money = a2.money + $money
where a1.user_id = $pay_user and a2.user_id = $recv_user

我建議使用存儲過程來執行此操作。 這將是來自php的一個調用,如果中間失敗,則SP應該發出回滾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM