在存儲過程中使用事務時,通常會顯示設定事務自動送出為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