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 阅读 57 次 更新于 2025-09-11 06:17:29 我来答关注问题0
  •  深空见闻 mysql默认是开启事务的吗

    MySQL默认是没有开启事务的,但其操作模式是auto commit自动提交模式。一、MySQL的默认事务行为 在MySQL中,默认情况下,每个SQL语句都被视为一个独立的事务,并在执行完毕后立即提交。这是由MySQL的autocommit参数控制的,该参数的默认值为1,即开启自动提交模式。在这种模式下,用户无需显式地开始和提交...

  • MySQL的事务如果不在任何修改,默认是自动提交的,也就是你只要执行一个SQL,回车之后这个SQL语句如果没有任何问题,只需完成后是自动提交的。控制这个功能的参数是:autocommit。如果这个参数的值是on或者1,那么就是上面我说的那种现象。如果是off或者0,则表示不会自动提交事务。需要你显示的去提交事务。

  •  云易网络科技 MySQL事务开启语句简单易学的教程mysql中事务开启语句

    要开始一个新事务,可以使用以下语句:BEGIN;或者 START TRANSACTION;或者 BEGIN WORK;这些语句可以在MySQL客户端或者脚本中使用。当使用BEGIN或者START TRANSACTION语句时,对于大多数MySQL版本,事务名称被隐含地定义为一个空名称。如果需要,可以用BEGIN WORK语句来定义事务名称。– 回滚一个事务 如果...

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

  •  宜美生活妙招 面试官问你:MySQL事务和隔离级别,你该如何回答

    MySQL默认采用自动提交模式,即如果不显式使用START TRANSACTION语句来开始一个事务,那么每个查询都会被当做一个事务自动提交。二、事务隔离级别 事务隔离级别是用来定义事务之间的隔离程度,MySQL支持四种事务隔离级别,它们逐级提供了更高的事务隔离程度,但同时也带来了更高的开销。读未提交(Read Uncommitted...

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

mySQL相关话题

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