mysql事务回滚

mysql使用事务前需确定存储引擎为innodb,譬如删除一个人员数据,会删除和这个人有关的一些数据删除,这个时候就会用到事务,出现一个删除错误整个删除事务就会取消。

事务回滚步骤:

/*创建roll表*/
CREATE TABLE roll(
    id int unsigned primary key auto_increment comment '主键',
    names varchar(64) not null default '' comment '姓名'
)CHARSET =UTF8 ENGINE =INNODB;

引擎为INNODB;

/*由于字段太少又插入了一条拥有金额*/

ALTER TABLE roll ADD money float not null default '0.0' comment '拥有金额';

/*插入数据*/
INSERT INTO roll VALUES
    (null,'lily','1000.8'),
    (null,'lucy','2009.7'),
    (null,'liming','3009');

所建表如下:

回滚事务步骤如下:

  首先开始一个事务代码如下:

  做一个保存点a代码如下:

  执行一个删除动作代码如下:

  再次查询表的内容:

  如果感觉执行操作有问题可以选择回滚到a保存点最后查询数据回到最开始状态代码如下:

注意:如果感觉代码没问题可以执行一个commit,执行完毕以后事务无法再回退.

 

 

 

posted on 2018-08-15 15:47  lxc_bky  阅读(2409)  评论(0编辑  收藏  举报

导航