page contents

MySQL支持事务吗?

轩辕小不懂 发布于 2022-03-18 14:47
阅读 405
收藏 0
分类:数据库
3329
Nen
Nen
- 程序员

在默认模式下,MySQL是AUTOCOMMIT模式的,所有的数据库更新操作都会即时提交。这就表示除非显式地开始一个事务,否则每个查询都被当作一个单独的事务自动执行。但是,如果MySQL的表类型使用的是InnoDB Tables(或其他支持事务的存储引擎)的话,那么MySQL就可以使用事务处理,使用SETAUTOCOMMIT=0就可以使MySQL运行在非AUTOCOMMIT模式下。在非AUTOCOMMIT模式下,必须使用COMMIT来提交更改,或者使用ROLLBACK来回滚更改。需要注意的是,在MySQL 5.5以前,默认的存储引擎是MyISAM(从MySQL 5.5开始,默认存储引擎是InnoDB),而MyISAM存储引擎不支持事务处理,若改变AUTOCOMMIT的值对数据库没有什么作用,且不会报错。所以,如果要使用事务处理,那么一定要确定所操作的表是支持事务处理的,如InnoDB。如果不知道表的存储引擎,那么可以通过查看创建表语句来确定表的存储引擎。

请先 登录 后评论