我当时正在innoDB表中测试事务支持,只是出于好奇,我试图在MyIsam表上运行同一事务,但令人惊讶的是它起作用了。我假设在myIsam表上的查询是一个接一个地执行的,而不是在一个原子操作中执行的,并且我不会从START TRANSACTION以及COMMIT和ROLLBACK操作中得到任何错误。我有兴趣,是MyIsam引擎只是忽略此操作还是执行某些操作?
MyISAM有效地在自动提交模式下工作(因为它不是事务引擎),并且只忽略提交/回滚。
实际上,存储引擎是MySQL体系结构中的另一层,与SQL解析器分离,SQL层使用较低级别的API与存储引擎进行通信,这就是存在通用SQL和引擎并支持功能的不同子集的原因。您可以在此处查看该架构的高级概述