事务的开启
MySQL数据库中事务通常是采用start transaction语句作为开始。从事务的开启到事务的结束,所有的操作是一个完整的过程,要么全部执行成功,要么全部撤销从而恢复到事务的开始之前。
事务的提交
事务在使用start transaction 语句开启之后采用commit语句提交,如果没有commit语句,MySQL数据库系统判定这个开启的事务没有结束。当commit语句被执行时,这个事务包含的所有操作将作为一个整体被系统执行,结果保存进数据库的物理磁盘内。
事务的回滚
回滚(Rollback)表示当事务中的一项或者多项操作失败导致事务无法继续运行时,系统将该事务已运行的所有操作全部撤销,回到事务所有操作开启之前的状态(MySQL数据库采用savepoint语句可以指定回滚的位置)。
MySQL数据库的存储引擎与事务
MySQL数据库的存储引擎主要分为两种,分别是InnoDB存储引擎和MyISAM 存储引擎两种,其中InnoDB存储引擎是事务安全的,采用较多。
MySQL的自动提交功能
MySQL的默认模式是自动提交模式,该模式是InnoDB存储引擎的特有模式,即在执行DML语句时,会立刻采用隐性事务,将执行结果提交数据库系统。也可以通过设置autocommit参数的值修改这一默认模式,当autocommit=1 时为自动提交模式;当autocommit=0时,为非自动提交模式。修改autocommit参数需要使用commit语句进行提交。