mysql事务回滚 - lxc_bky
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,执行完毕以后事务无法再回退.