当前位置:网站首页>关闭MySQL自动提交
关闭MySQL自动提交
2022-08-08 21:00:00 【拾年一剑】
关闭MySQL自动提交,可以使用set autocommit=0与start transaction的方式。
可以先看一下事务是否是自动提交的。
show variables like 'autocommit';
参考资料
https://dev.mysql.com/doc/refman/5.7/en/commit.html
总结
mysql中set autocommit=0与start transaction区别
set autocommit=0,
当前session禁用自动提交事物,自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示"commit"才能提交事务。
如果是autocommit模式 ,autocommit的值应该为 1 ,不autocommit 的值是 0 ;请在试验前 确定autocommit 的模式是否开启
例如:
set autocommit = 0;
delete from table1 where id =xxx;
commit; or rollback;
需要注意: 这种操作设置,在当前查询窗口有效,重新打开Navicat或者新建查询页都需要重新设置。
start transaction
指的是启动一个新事务。
在默认的情况下,MySQL以自动提交(autocommit)模式运行,这种模式会在每条语句执行完毕后把它作出的修改立刻提交给数据库并使之永久化。事实上,这相当于把每一条语句都隐含地当做一个事务来执行。如果你想明确地执行事务,需要禁用自动提交模式并告诉MySQL你想让它在何时提交或回滚有关的修改。
执行事务的常用办法是发出一条START TRANSACTION(或BEGIN)语句挂起自动提交模式,然后执行构成本次事务的各条语句,最后用一条 COMMIT语句结束事务并把它们作出的修改永久性地记入数据库。万一在事务过程中发生错误,用一条ROLLBACK语句撤销事务并把数据库恢复到事务开 始之前的状态。
START TRANSACTION语句"挂起"自动提交模式的含义是:在事务被提交或回滚之后,该模式将恢复到开始本次事务的 START TRANSACTION语句被执行之前的状态。(如果自动提交模式原来是激活的,结束事务将让你回到自动提交模式;如果它原来是禁用的,结束 当前事务将开始下一个事务。)
边栏推荐
- 【转发与重定向(二)】
- 昇腾Ascend 随记 —— TensorFlow 模型迁移
- 昇腾Ascend 随记 —— 昇腾 AI 的基本架构
- wp-ctfshow-web10 (group up注入)
- SQL注入之搭建dnslog
- 【highcharts应用-双饼图】
- 去噪论文 Attention-Guided CNN for Image Denoising
- Kotlin - learn the fifth day of the Handler
- Kotlin之JSON格式解析
- Notes: The difference between laravel, updateOrCreate and updateOrInsert
猜你喜欢
随机推荐
2020-8-18js练习
内网渗透之代理转发
Kotlin基础稳固第一天
phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
图神经网络GNN简介及应用方向
跨域问题 什么时候出现跨域问题 如何解决跨域问题
去噪论文 Attention-Guided CNN for Image Denoising
文档图像二值化DIB_paper_1
新规划|广州都市圈将以广佛为核心,广佛将有18条地铁相连通
Gradle is as simple as using kotlin to write common commands
fashion CNNs code
Solve the problem of slow speed of gradle import package
并发和并行——从线程,线程池到任务
GeoServer Getting Started Learning: 06-Publishing Multi-level TIF Map Data
Mysql management commands
编译原理——逆波兰式分析程序(C#)
Some useful frameworks in Kotlin
新库上线 | CnOpenDataA股上市公司基本信息数据
【导出PDF-项目应用】
Flask 教程 第十一章:美化