欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于navicat事务自动提交问题

程序员文章站 2022-06-17 20:42:11
最近在使用navicat编辑数据库表的时候遇到了一些问题,记录下~~问题:编辑完数据之后点击“✔”提交的时候navicat卡了,然后提示“mysql lock wait timeout...

最近在使用navicat编辑数据库表的时候遇到了一些问题,记录下~~
问题:编辑完数据之后点击“✔”提交的时候navicat卡了,然后提示“mysql lock wait timeout exceeded”,截图现在没有了,总之意思就是超时了。

原因:后来查了好多资料,原来是navicat的自动提交事务关闭了,导致了修改数据之后事务一直未提交,所以再修改数据的时候就得等之前的事务,但是事务一直未提交,所以就超时了

解决原因:可以先看一下事务是否是自动提交的。

show variables like 'autocommit

关于navicat事务自动提交问题

如图,如果查出来是on,表明事务是自动提交的,修改数据之后不用自己提交。如果是off的话,就需要把自动提交先先打开了。

set autocommit=on;

这样的话再修改数据的时候就不出出现超时的问题了~~~

ps:下面看下navicat premium 设置update和delete操作不自动提交事务的问题

首先查看mysql设置:

show variables like 'autocommit';

结果应为:

关于navicat事务自动提交问题

然后执行:

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

这时再查询:show variables like ‘autocommit'; 其结果应为:

关于navicat事务自动提交问题

需要注意:这种操作设置,在当前查询窗口有效,重新打开navicat或者新建查询页都需要重新设置。

到此这篇关于navicat事务自动提交问题的文章就介绍到这了,更多相关navicat事务自动提交内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!