日期:2014-05-16 浏览次数:20687 次
1、mysql事物概述
在mysql中,事务由单独单元的一个或者多个SQL语句组成,在这个单元中每条鱼具都是相互依赖的,只要其中有一条语句执行不成功,整个单元就会回滚(会到之前的状态)。这在现实生活中非常有用。
例如在网上购物的过程中,用户从 选购商品à添加到购物车à在线支付à商家发货à用户收获à确认收货 这其中的任何一个步骤出现问题都会结束交易,所以整个过程中必须采用数据库的事务来解决这些问题。
需要注意的是,在mysql中默认的存储引擎是MyISAM,他是不支持事务机制的(但支持伪事务机制),InnoDB和BDB支持事务机制。
2、mysql事务存在的周期
创建事务一般有这么几个过程:初始化事务、创建事务、使用select语句检查数据是否被录入、提交事务。
create table table_name(field_defintions) type =InnoDB/BDB;
其中table_name为表名,field_definitions为表内定义的字段属性,type定义数据的类型。
(1)初始化事务
Start transaction;
(2)创建事务
start transaction;
insert into tb_student(name,addr,tel)
values(‘chen’,’nanjing’,’025-78764789’);
(3)使用select查看数据是否已经被录入到数据库中
select * from tb_student;
(4)提交事务
commit;
(5)撤销事务
bollback;
执行回滚操作,会使的在start transaction后的所有SQL操作都被撤销,数据库恢复到start transaction之前的状态。
注意:事务的周期是从start transaction开始,到commit结束。事务不支持嵌套的功能,当用户在没有结束第一个事务又重新打开一个新的事务时,前一个事务将会被自动提交。