MySQL控制(关闭、打开)自动提交功能

在MySQL中执行命令时,通常都直接被确定提交了。也就是说用户不用意识此事,所有的命令都会被自动COMMIT。特别是当存储引擎为MyISAM的情况下,本身它是不支持事务处理的,只要执行了命令,所有的命令部会被提交。

这样的默认自动提交的功能就被称为自动提交功能。自动提交功能默认被置为ON的状态。但是,如果存储引擎为InnoDB 时,当执行了START TRANSACTION或BEGIN命令(MySQL事务处理-删除后回滚)后,将不会自动提交了,只有明确执行了COMMIT命令后才会被提交,在这之前可以执行ROLLBACK 命令回滚更新操作。

用户可以将自动提交功能强制置为OFF。这样用户执行SQL语句后将不会被提交了,而执行COMMIT命令才提交,执行ROLLBACK命令回壤。

下面是将自动提交功能置为ON以及置为OFF的具体语法。

将自动提交功能置为ON

  1. SET AUTOCOMMIT=0;

将自动提交功能置为OFF

  1. SET AUTOCOMMIT=1;

我们将演示自动提交功能设置为OFF后,会出现的什么样的变化。置为OFF,我们向表user里插入一条数据后,看看是否能回滚。

将自动提交功能设置为OFF,执行结果如下。

  1. mysql> SET AUTOCOMMIT=0;
  2. Query OK, 0 rows affected (0.00 sec)

查看表user中的数据

  1. mysql> SELECT * FROM user \G
  2. *************************** 1. row **************
  3. mid: 1
  4. name: zhangsan
  5. scx: 0
  6. word: NULL
  7. *************************** 2. row **************
  8. mid: 2
  9. name: wangwu
  10. scx: 1
  11. word: NULL
  12. 2 rows in set (0.00 sec)

MySQL控制(关闭、打开)自动提交功能(2)

文章来源网页编程http://www.uphtm.com,转载请注明出处:http://www.uphtm.com/database/188.html

时间: 2024-11-05 11:41:58

MySQL控制(关闭、打开)自动提交功能的相关文章

MySQL InnoDb数据表 自动提交总结

官方文档说明: http://dev.mysql.com/doc/refman/5.5/en/commit.html 1.autocommit仅适用于InnoDb数据表; 2.默认是自动提交,可通过语句查询: select @@autocommit; 3.SET autocommit 禁用或启用默认为当前会话自动提交模式(注意:只是当前会话生效); 4.语法:SET autocommit = {0 | 1}  0为当前会话禁用自动提交,1为当前会话启用自动提交 5.可通过启动服务加命令方式进行修

给你的网站添加谷歌AMP、百度MIP、神马MIP链接自动提交功能

我们在做网站的时候,经常会听到别人说SEO优化,网站优化等等.但是我们经常听的云里雾里的,但是经过我们运营一段时间之后,我们慢慢的就会熟悉了,知道什么是SEO.SEO中文译名为搜索引擎优化,既然是叫搜索引擎优化,那么肯定的是从各个方面对网站的链接和内容进行优化了.在移动互联网高速发达的今天,仅仅只是依靠PC端的网页展示是不够的,还需要针对移动端进行优化和展示,在这里我给大家普及一下,SEO的中AMP.MIP和熊掌号的几个知识点. 1.AMP(Accelerated Mobile Pages),是

mysql自动提交

MySQL的autocommit(自动提交)默认是开启,其对mysql的性能有一定影响,举个例子来说,如果你插入了1000条数据,mysql会commit1000次的,如果我们把autocommit关闭掉,通过程序来控制,只要一次commit就可以了. 1,我们可以通过set来设置autocommit 2,我们可以修改mysql的配置文件my.cnf来关闭autocommit init_connect='SET autocommit=0'  #在mysqld里面加上这些内容 其他关于mysql事

postgresql 关闭自动提交

1. 简介说明 我们知道oracle中sqlplus里面执行dml语句:是需要提交commit:若错了:也可以回滚rollback: 然而在postgresql里面默认是自动提交:执行完就马上提交了,不能回滚,这样容易导致误操作的发生,有没有什么办法避免这个风险呢?当然有,在psql中默认是打开自动提交的,我们可以关闭自动提交. 2. 操作验证 [[email protected] ~]$ psql -U lottu -d xzfb psql (9.5.0) Type "help" f

取消Exchange数据库的自动分配功能

在Exchange日常维护中,在创建邮箱帐号的时候,如果没有指定目标数据库,Exchange会自动分配一个数据库.Exchange分配的原则一般是哪个数据库人数较少就会往哪个数据库分配. 在实际环境中,日记或者归档数据库是不希望作为Exchange自动分配的目标数据库的.如何取消Exchange对某些个别数据库的自动分配功能?默认情况下,每个Exchange数据库都开启了自动分配功能,具体是通过控制数据库的IsExcludedFromProvisioning参数来实现的,该参数的默认值为Fals

UC浏览器input文本框输入文字回车键自动提交

这是测试今天在jira给我提出的一个bug 下面是贴的代码 屏蔽或者禁止回车键 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <!--直接行内加--> <!--<input onkeydown="if(event.keyCode==13)

Libreoffice:禁止首字母自动大写功能

 造冰箱的大熊猫@cnblogs 2019/1/24 在LibreOffice(5.1.6.2)中,要禁止或者使能首字母自动大写功能,点击菜单项“Tools>>AutoCorrect Options”,激活“AutoCorrect”对话框.在对话框的“Options”标签下,“Capitalize first letter of every sentence”选项控制首字母自动大写功能. 原文地址:https://www.cnblogs.com/pandabang/p/10317561.htm

Mybatis的JDBC提交设置/关闭mysql自动提交------关于mysql自动提交引发的惨剧

学习Mybatis时提到了JDBC方式需要自己手动提交事务,如果不加session.commit会导致数据库的数据无法正常插入(程序本身又不给你报错,还装出一副我已经插入成功的样子) SqlSession session = sessionFactory.openSession(); 如果要自动提交的话加个参数就好啦 SqlSession session = sessionFactory.openSession(true);//自动提交 手动提交的话 SqlSession session = s

关闭myeclipse中烦人的鼠标划过,自动提示功能

eclipse越来越智能,身为码农的我却越来越伤心.虽然你很智能,但请你提供一些有用的信息给我,不要乱七八槽的,不问青红皂白就塞一大堆提示给我,对不起,哥不需要这些!!! 都知道,使用myeclipse开发java,jsp,js时,鼠标划过某个类,对象,方法……会自动提示一些没有用的信息(至少对我来说),好烦人啊,终于到了忍无可忍的时候,决定将这没用的提示干掉,还我一个清静世界. 我的是myeclipse10.1,请先打开window->preferences 执行一下3步 1.java->e