MySQL事务的创建与存在周期

通过上述对事务定义的叙述和事务特性的讲解,相信读者已经对事务有一个初步的认识。下面的内容将对事务的存在周期做详细讲解。首先,向读者展示在MySQL中如何创建事务。

创建事务的一般过程是:初始化事务、创建事务、应用SELECT语句查询数据是否被录入和提交事务。如果用户不在操作数据库完成后执行事务提交,则系统会默认执行回滚操作。如果用户在提交事务前选择撤销事务,则用户在撤销前的所有事务将被取消,数据库系统会回到初始状态。
注意

默认情况下,在MySQL中创建的数据表类型都是MyISAM,但是该类型的数据表并不能支持事务。所以,如果用户想让数据表支持事务处理能力,必须将当前操作数据表的类型设置为InnoDB或BDB。

在创建事务的过程中,用户需要创建一个InnoDB或BDB类型的数据表,其基本命令结构如下。
CREATE TABLE  table_name(field_defintions) TYPE = INNODB/BDB;

其中,table_name为表名,而field_defintions为表内定义的字段等属性,TYPE指定数据表的类型,既可以是InnoDB类型,也可以是BDB类型。

当用户希望将已经存在的表支持事务处理,则用户可以应用ALTER TABLE命令,指定数据表的类型即可实现对表的类型更改操作,使原本不支持事务的数据表更改为支持事务处理的类型,其命令如下。

ALTER TABLE  table_name TYPE= INNODB/BDB;

在用户更改完表的类型后,即可使数据表支持事务处理。
说明

应用ALTER TABLE操作可能会导致数据库中的数据丢失,因此为了避免非预期结果出现,在使用ALTER TABLE命令之前,用户需要创建一个表备份。