[英]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.