时间:2021-05-23
最近在使用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事务自动提交内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
使用navicat测试学习:首先使用setautocommit=0;(取消自动提交,则当执行语句commit或者rollback执行提交事务或者回滚)在打开一个
这里以mysql为例,先明确以下几个问题:一.一般项目如果不自己配置事务的话,一般默认的是autocommit,即执行完一个操作后自动commit,提交事务。(
PHPmysqli_rollback()函数关闭自动提交,做一些查询,提交查询,然后回滚当前事务:
PHPPDO事务与自动提交现在通过PDO连接上了,在开始进行查询前,必须先理解PDO是如何管理事务的。事务支持四大特性(ACID):原子性(Atomicity)
事项开启和使用//修改表的引擎altertableaengine=myisam;//开启事务begin;//关闭自动提交setautocommit=0;//扣1