mysql如果一个事务一直没有commit并且也没有rollback会怎样?
有什么办法查询到这些没有被commit也没有被rollback的事务。?
PHPz2017-04-17 13:48:53
如果MySQL存在沒有提交的事務,那麼這時候 AUTOCOMMIT 自動提交的參數應該是為 0 的。
不過如果你透過其他的語言的MySQL驅動來操作的話,這些驅動一般都帶有自動恢復 AUTOCOMMIT 的功能,在請求處理完成後會自動 ROLLBACK 沒有處理的事務。
黄舟2017-04-17 13:48:53
資料庫連線中斷或要求結束的時候通常會自動rollback
這是大家都會給的答案,但實際上到底是伺服器還是啟動環境(FPM)還是程式碼的連線庫操作的rollback呢? ? ?不太清楚,但我猜測應該是連接資料庫工具類自動rolback的或是啟動環境(FPM)直接在服務端準備回傳資料給客戶端的時候自動rollback
網路上也有官方文件舉例說 PHP-mysql是PDO(資料庫驅動類別函式庫)自動呼叫的rollback。但也沒說在具體什麼時候斷開。 。 。