MySQL-事务管理(基础)

栏目: 数据库 · 发布时间: 7年前

内容简介:事务处理用来维护数据库等完整性,保证mysql操作要么成功,要么失败(myisam不支持事务)假设第二条删除失败,回滚,撤销事务处理块内的语句复杂的事务处理可能需要部分提交或回退。

事务处理用来维护数据库等完整性,保证 mysql 操作要么成功,要么失败(myisam不支持事务)

1、关键词

  1. 事务(transaction)指一组 SQL 语句;
  2. 回退(rollback)指撤销指定SQL语句的过程;
  3. 提交(commit)指将未存储的SQL语句结果写入数据库表;
  4. 保留点(savepoint)指事务处理中设置的临时占位符(place-holder),你可以对它发布回退(与回退整个事务处理不同)。

2、使用rollback

select * from orderitems;
START TRANSACTION;
DELETE FROM orderitems;
select * from orderitems;
ROLLBACK;
select * from orderitems;

3、使用commit

START TRANSACTION;
DELETE FROM orderitems where order_num = 20010;
DELETE FROM orders WHERE order_num = 20010;
COMMIT

假设第二条删除失败,回滚,撤销事务处理块内的语句

4、使用保留点

复杂的事务处理可能需要部分提交或回退。

为了支持回退部分事务处理,必须能在事务处理块中合适的位置放 置占位符。这样,如果需要回退,可以回退到某个占位符。

这些占位符称为保留点。为了创建占位符,可如下使用SAVEPOINT

创建保留点

SAVEPOINT delete1

回退到保留点

ROLLBACK TO delete1

tips

保留点越多越好,方便灵活使用,but没必要到就算来哈!凡事适可而止

释放保留点

release savepoint delete1

5、更改默认到提交行为

mysql是自动提交所有更改。

不自动提交更改

set autocommit = 0;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Mobilizing Web Sites

Mobilizing Web Sites

Layon, Kristofer / 2011-12 / 266.00元

Everyone has been talking about the mobile web in recent years, and more of us are browsing the web on smartphones and similar devices than ever before. But most of what we are viewing has not yet bee......一起来看看 《Mobilizing Web Sites》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具