最近在使用navicat編輯數(shù)據(jù)庫表的時(shí)候遇到了一些問題,記錄下~~
問題:編輯完數(shù)據(jù)之后點(diǎn)擊“✔”提交的時(shí)候navicat卡了,然后提示“MySql Lock wait timeout exceeded”,截圖現(xiàn)在沒有了,總之意思就是超時(shí)了。
原因:后來查了好多資料,原來是navicat的自動提交事務(wù)關(guān)閉了,導(dǎo)致了修改數(shù)據(jù)之后事務(wù)一直未提交,所以再修改數(shù)據(jù)的時(shí)候就得等之前的事務(wù),但是事務(wù)一直未提交,所以就超時(shí)了
解決原因:可以先看一下事務(wù)是否是自動提交的。
show variables like 'autocommit
![](/d/20211018/6b88ebefbbff997c7a5d9cf2149bddb5.gif)
如圖,如果查出來是ON,表明事務(wù)是自動提交的,修改數(shù)據(jù)之后不用自己提交。如果是OFF的話,就需要把自動提交先先打開了。
這樣的話再修改數(shù)據(jù)的時(shí)候就不出出現(xiàn)超時(shí)的問題了~~~
ps:下面看下Navicat Premium 設(shè)置update和delete操作不自動提交事務(wù)的問題
首先查看MySQL設(shè)置:
show variables like 'autocommit';
結(jié)果應(yīng)為:
![](/d/20211018/f3d5a25229d78826a35187241f29c393.gif)
然后執(zhí)行:
set autocommit = 0;
delete from table1 where id =xxx;
commit; or rollback;
這時(shí)再查詢:show variables like ‘a(chǎn)utocommit'; 其結(jié)果應(yīng)為:
![](/d/20211018/14c9132f424aaa1506aaac1e9f14ad64.gif)
需要注意:這種操作設(shè)置,在當(dāng)前查詢窗口有效,重新打開Navicat或者新建查詢頁都需要重新設(shè)置。
到此這篇關(guān)于navicat事務(wù)自動提交問題的文章就介紹到這了,更多相關(guān)navicat事務(wù)自動提交內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Navicat Premium 12.0.29安裝與激活超詳細(xì)教程
- Navicat for MySQL 15注冊激活詳細(xì)教程
- Navicat for MySQL 11注冊碼\激活碼匯總