set autocommit=0和start transaction的區別

,set autocommit=0,

當前session禁用自動提交事物,自此句執行以后,每個SQL語句或者語句塊所在的事務都需要顯示"commit"才能提交事務。

start?transaction

指的是啟動一個新事務。

在默認的情況下,MySQL從自動提交(autocommit)模式運行,這種模式會在每條語句執行完畢后把它作出的修改立刻提交給數據庫并使之永久化。事實上,這相當于把每一條語句都隱含地當做一個事務來執行。如果你想明確地執行事務,需要禁用自動提交模式并告訴MySQL你想讓它在何時提交或回滾有關的修改。

執行事務的常用辦法是發出一條START?TRANSACTION(或BEGIN)語句掛起自動提交模式,然后執行構成本次事務的各條語句,最后用一條 COMMIT語句結束事務并把它們作出的修改永久性地記入數據庫。萬一在事務過程中發生錯誤,用一條ROLLBACK語句撤銷事務并把數據庫恢復到事務開 始之前的狀態。

START?TRANSACTION語句"掛起"自動提交模式的含義是:在事務被提交或回滾之后,該模式將恢復到開始本次事務的 START?TRANSACTION語句被執行之前的狀態。(如果自動提交模式原來是激活的,結束事務將讓你回到自動提交模式;如果它原來是禁用的,結束 當前事務將開始下一個事務。)

如果是autocommit模式??,autocommit的值應該為?1?,不autocommit?的值是?0?;請在試驗前?確定autocommit?的模式是否開啟

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • MySQL技術內幕:InnoDB存儲引擎(第2版) 姜承堯 第1章 MySQL體系結構和存儲引擎 >> 在上述例子...
    沉默劍士閱讀 7,458評論 0 16
  • 為了充分發揮MySQL的性能并順利地使用,就必須理解其設計。MySQL的靈活性體現在很多方面。例如,你可以通過配置...
    李文文丶閱讀 1,211評論 0 4
  • 當一個系統訪問量上來的時候,不只是數據庫性能瓶頸問題了,數據庫數據安全也會浮現,這時候合理使用數據庫鎖機制就顯得異...
    初來的雨天閱讀 3,608評論 0 22
  • 來源轉載自:http://www.cnblogs.com/ymy124/p/3718439.html MySQL的...
    Mrwangs閱讀 1,959評論 0 8
  • 時隔四五天沒吐,晚上吃過飯就躺著不動。昨天極其難受,胃里難受,頭疼,惡心。渾身都乏力。 昨晚本來在床上躺著,沒忍住...
    Cherry宋閱讀 333評論 0 0