1. 程式人生 > 資料庫 >關於navicat事務自動提交問題

關於navicat事務自動提交問題

最近在使用navicat編輯資料庫表的時候遇到了一些問題,記錄下~~
問題:編輯完資料之後點選“✔”提交的時候navicat卡了,然後提示“MySql Lock wait timeout exceeded”,截圖現在沒有了,總之意思就是超時了。

原因:後來查了好多資料,原來是navicat的自動提交事務關閉了,導致了修改資料之後事務一直未提交,所以再修改資料的時候就得等之前的事務,但是事務一直未提交,所以就超時了

解決原因:可以先看一下事務是否是自動提交的。

show variables like 'autocommit

檢視事務是否自動提交

如圖,如果查出來是ON,表明事務是自動提交的,修改資料之後不用自己提交。如果是OFF的話,就需要把自動提交先先打開了。

set autocommit=on;

這樣的話再修改資料的時候就不出出現超時的問題了~~~

ps:下面看下Navicat Premium 設定update和delete操作不自動提交事務的問題

首先檢視MySQL設定:

show variables like 'autocommit';

結果應為:

在這裡插入圖片描述

然後執行:

set autocommit = 0;
delete from table1 where id =xxx;
commit; or rollback;

這時再查詢:show variables like ‘autocommit'; 其結果應為:

在這裡插入圖片描述

需要注意:這種操作設定,在當前查詢視窗有效,重新開啟Navicat或者新建查詢頁都需要重新設定。

到此這篇關於navicat事務自動提交問題的文章就介紹到這了,更多相關navicat事務自動提交內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!