autocommit和start transaction

在存儲過程中使用事務時,通常會顯示設置事務自動提交爲0 (set autocommit=0;)這裏極有可能是個坑,在同一個連接中,事務執行完或存儲過程執行完後,autocommit仍爲0,如果後面沒有commit語句則可能導致數據丟失;對應mysql官網,沒有解釋很清楚 set autocommit =0 和 start transaction,是否必須結合使用,但有一句是,start transaction 有隱含的 設置autocommit爲0 作用,原句爲: To disable autocommit mode implicitly for a single series of statements, use the START TRANSACTION statement ,所以可以去掉set autocommit=0 ,如果非得使用時在commit和rollback 後,將 autocommit設置爲1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章