mysql-事务

事务

  • 事务(transaction):指一组sql语句
  • 回退(rollback):指撤销指定sql语句的过程
  • 提交(commit):指将未存储的sql语句结果写入数据库表
  • 保留点(savepoint):指事务中临时占位符,可对其发布回退

1. 事务的开始

start transaction;

2. rollback

select * from order;
start transaction;
delete from order;
select * from order;
rollback;
select * from order;
  • 首先查看表order不为空,开始事务,删除表内容,再验证表内容为空,rollback回退start transaction;之后的所有语句,最后查看表不为空。
  • 事务处理用来管理update,delete, insert语句。不能回退select语句(没有意义),不能回退create,drop语句,事务处理中可以有这两条语句,但执行回退,这两条不会被撤销。

3.commit

  • 一般的mysql语句直接针对数据库表执行和编写的。提交(写和保存)操作是自动进行的,这就是隐含提交。但是在事务处理不会隐含提交,为明确地提交,使用commit语句
start transaction;
delete from order;
commit;

4.savepoint

  • 为支持回退部分事务处理,在事务处理中合适的位置放置占位符。这样如果要回退,可以回退到某个占位符。
start transation;
insert into order values(1);
savepoint m1;
insert into order values(2);
savepoint m2;
rollback to m1;
commit;

此代码执行结果只会插入1,不会插入2;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值