MySQL中的一条语句是否作为事务运行

4jb9z9bj  于 2023-04-05  发布在  Mysql
关注(0)|答案(1)|浏览(113)

我有一份声明

replace into a(A,B,C,D,E) select * from b;

我不知道它是否作为交易运行。
MySQL中的每个DML语句都是作为事务运行的吗?
我已经尝试了下面的语句来产生一个重复的键错误,它作为一个事务运行。

insert into a select * from b;

但是,我不确定是否有一条语句在任何情况下都作为事务运行。

eqoofvh9

eqoofvh91#

是的。
https://dev.mysql.com/doc/refman/8.0/en/innodb-autocommit-commit-rollback.html表示:
在InnoDB中,所有的用户活动都发生在一个事务中。如果启用了autocommit模式,则每个SQL语句都单独形成一个事务。

相关问题