【问题标题】:Does MySQL use transaction in a single DML modified data with autocommit?MySQL 是否通过自动提交在单个 DML 修改数据中使用事务?
【发布时间】:2016-08-24 07:54:38
【问题描述】:

我对事务和自动提交感到困惑。但是没有文档解释 MySQL 自动提交的作用。

如果启用自动提交,每个INSERT UPDATE DELETE 语句将立即生效。 MySQL 是否会自动启动事务来执行此操作?

如果不是,MySQL 是做什么的?和交易有什么区别?

在我看来:

声明

插入...

自动提交等于

开始交易;

插入...;

提交;

关闭自动提交。

这两个语句在任何时候任何条件下都采取相同的动作。

对吗?

【问题讨论】:

    标签: mysql transactions innodb


    【解决方案1】:

    首先,您必须知道,大多数 MySQL 存储引擎不支持事务。例如,InnoDB 支持,但 MyISAM - 不支持。

    在 InnoDB 中,您可以通过 2 种方式使用事务:

    • 隐式

      开始交易;
      插入/更新/删除
      提交;

    • 显式

    通过 SET 自动提交关闭

    它们都提供相同的结果

    【讨论】:

      猜你喜欢
      • 2013-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 2020-05-04
      相关资源
      最近更新 更多