mysql中事务一定要显示的开启吗

不一定要显式开启的。对于涉及一系列多条语句操作,如果需要确保要么全部成功,要么全部失败,不出现中间状态,那就必须显式启用事务。而对于单独一条动作查询语句来讲,如果使用的是InnoDB存储引擎的话,就没必要显式开启事务了,因为数据库引擎会自动对单独一条SQL动作查询隐式开启事务。例如:insert into...
mysql中事务一定要显示的开启吗
不一定要显式开启的。对于涉及一系列多条语句操作,如果需要确保要么全部成功,要么全部失败,不出现中间状态,那就必须显式启用事务。

而对于单独一条动作查询语句来讲,如果使用的是InnoDB存储引擎的话,就没必要显式开启事务了,因为数据库引擎会自动对单独一条SQL动作查询隐式开启事务。
例如:
insert into t2(id,name) valuse('001','abc'),('002','cfg'),('003','hij');
上述一条语句向数据表插入三条记录,数据库引擎(InnoDB)会隐式开启事务,确保这三条记录要么全部插入成功,要么全部失败而不会出现中间状态。用户无需考虑事务问题,它由系统内部自动处置。2017-01-06
mengvlog 阅读 78 次 更新于 2025-10-31 02:10:06 我来答关注问题0
  • MySQL的事务如果不在任何修改,默认是自动提交的,也就是你只要执行一个SQL,回车之后这个SQL语句如果没有任何问题,只需完成后是自动提交的。控制这个功能的参数是:autocommit。如果这个参数的值是on或者1,那么就是上面我说的那种现象。如果是off或者0,则表示不会自动提交事务。需要你显示的去提交事务。

  •  文暄生活科普 Redis之坑:Redis与MySQL中事务的区别

    MySQL会默认开启一个事务,并且缺省设置是自动提交。这意味着,每成功执行一个SQL语句,一个事务就会立即提交。因此,在没有显式开启事务控制的情况下,MySQL中的操作是逐条提交的,无法回滚。Redis:Redis默认不会开启事务。在没有使用MULTI命令开启事务的情况下,Redis命令会立即执行,并且结果会立即返回。...

  •  云易网络科技 MySQL事务操作指南mysql中事务写法

    mysqli->query(“UPDATE users SET name=’Tom’ WHERE id=1”);mysqli->query(“UPDATE orders SET price=10 WHERE id=1”);mysqli->commit();以上代码表示关闭自动提交事务,开启一个事务,更新users表中的数据以及orders表中的数据。如果需要回滚事务,可以...

  • 事务是逻辑上的一组操作,组成这组操作的各个单元,要不全都成功要不全都失败,这个特性就是事务 注意:mysql数据支持事务,但是要求必须是innoDB存储引擎 解决这个问题: mysql的事务解决这个问题,因为mysql的事务特性,要求这组操作,要不全都成功,要不全都失败,这样就避免了某个操作成功某个操作失败。

  •  翡希信息咨询 走进高性能Mysql(二)

    走进高性能Mysql(二)Mysql中的事务Mysql默认采用自动提交(AUTOCOMMIT)模式,即如果不是显式地开始一个事务,每个查询都被当作一个事务执行并提交。自动提交(AUTOCOMMIT):可以通过设置AUTOCOMMIT变量来启用或禁用自动提交模式。1或ON表示开启。0或OFF表示禁用。当AUTOCOMMIT为0时,所有查询都在一个事务中...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部