mysql事务回滚

Posted lxc_bky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,执行完毕以后事务无法再回退.

 

 

 

以上是关于mysql事务回滚的主要内容,如果未能解决你的问题,请参考以下文章

mysql事务 - 回滚任何异常

mysql命令行下怎样实现数据的回滚操作

MySQL事务回滚

对mysql事务提交回滚的错误理解

mysql中innodb数据库事务修改多记录

MySQL 回滚事务与丢失/断开连接