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,执行完毕以后事务无法再回退.
原文地址:https://www.cnblogs.com/lxc-bky/p/9481861.html
时间: 2024-11-05 13:27:57