4
我以爲我會問,因爲我不確定這個操作的結果沒有在原始性質上處理很多事務。交易和異常
當在PHP中拋出異常停止執行時,如何處理數據庫事務。它是否會自動回滾,因爲連接到數據庫的連接從PHP中刪除或鎖定是否保持原位?
僞碼
TX Begin
Select Balance
Logic in PHP
Exception
Rollback
Commit
注:我知道最好的編碼習慣使然,我在catch回滾。這只是我想知道的一個行爲問題。
數據庫連接不會被刪除,除非您明確關閉它或腳本停止運行。 – Shadow
自動回滾取決於db/connection ....的配置,不要依賴它,它可以設置爲自動提交....如果使用事務,則使用顯式回滾/提交(也有助於代碼可讀性,因爲那樣你不需要檢查代碼的外部任何東西) –
@Shadow在我的例子中,異常會終止執行。 – Ray