今天自主实验时,发现数据库关闭连接时自动提交事务的说法在实验过程中并未实现,因此查阅大量资料有以下结果。
MySQL事务默认情况下是自动提交的,当我们需要回滚事务时就需要将事务自动提交关闭,可以通过如下命令设置:
set AutoCommit = 0;
当事务完成后可以通过如下命令进行提交:
commit
当关闭数据库连接时,事务也会自动提交,但是此时必须将自动提交恢复为true,证明如下:
- 当数据库的自动提交为false时,更改表中数据,此时直接关闭数据库,查询表中数据不变。
表中初始数据:
更改数据库自动提交为false:
修改表中数据: