01 | MySQL事务处理

MySQL管理事务处理

本文主要介绍如何利用COMMITROLLBACK语句管理事务处理

事务处理

事务处理是什么?

  • 维护数据库的完整性
  • 成批处理SQL语句,要么全部执行,要么都不执行

事务处理有什么作用?

利用事务处理可以保证一组操作不会中途停止,它们或者作为整体执行,或者干脆都不执行。

如果发生错误,则回退至已知的安全状态

几个重要术语

术语
事务(transaction) 指一组sql语句
回退(rollback) 指撤销sql语句的过程
提交(commit) 指将未存储的数据结果写入sql表
保留点(save point) 事务处理过程中设置的临时占位符,可以对其发布回退

控制事务处理

  • 使用rollback回退事务
# 事务开始
START TRANSACTION;
DELETE FROM ordertotals;
SELECT * FROM ordertotals;
ROLLBACK;

SELECT * FROM ordertotals;

rollback只能在事务中使用,start transaction

  • 使用commit提交事务
# 26.2.2 使用COMMIT
START TRANSACTION;
DELETE FROM orderitems WHERE order_num=20010;
DELETE FROM orders WHERE order_num=20010;
COMMIT ;
  • 使用保留点savepoint
SAVEPOINT delete1;
-- 回退
ROLLBACK delete1;
  • 更改默认提交行为

默认的mysql行为是自动提交更改的,所做更改立即生效,但可以设置不自动提交更改

SET autocommit=0;

直到autocommit为1时,才可提交更改

原文地址:https://www.cnblogs.com/xm08030623/p/12407495.html

时间: 2024-10-11 13:14:59

01 | MySQL事务处理的相关文章

mysql事务处理用法与实例详解

MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务.行级锁.并发 3.Berkeley DB:支持事务 一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行.换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的.如果在事务的任何操作失败,则整个事务将失败. 实际上,会俱乐部许多SQL查询到一个组中,将执行所有的人都一起作为事务的一部分. 事务的特性: 事务有以下四

mysql事务处理的意义

MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务.行级锁.并发 3.Berkeley DB:支持事务  一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行.换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的.如果在事务的任何操作失败,则整个事务将失败.实际上,会俱乐部许多SQL查询到一个组中,将执行所有的人都一起作为事务的一部分. 事务的特性: 事务有以下

[转]mysql事务处理用法与实例详解

转自:http://www.cnblogs.com/ymy124/p/3718439.html MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务.行级锁.并发 3.Berkeley DB:支持事务 一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行.换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的.如果在事务的任何操作失败,则整个事务将失败. 实际上,会俱

PHP与MYSQL事务处理

PHP与MYSQL事务处理 2016-03-28 fal PHP编程 MYSQL的事务处理主要有两种方法. 1.用begin,rollback,commit来实现 begin 开始一个事务 rollback 事务回滚 commit 事务确认 2.直接用set来改变mysql的自动提交模式 MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过 set autocommit=0 禁止自动提交 set autocommit=1 开启自动提交 来实现事务的处理. 当你用 s

01 mysql基础一 (进阶)

mysql基础一 1.认识mysql与创建用户 01 Mysql简介 Mysql是最流行的关系型数据库管理系统之一,由瑞典MySQLAB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. (开源,免费) #关系型数据库:采用关系模型来组织数据的数据库 #关系:一张二维表,每个关系都有一个关系名,就是表名,互相关联 #模型:行和列(二维),具体指字段跟字段信息 02 进入my

mysql 事务处理

知识点: 事务处理是什么? 当数据库表呈树状机构设计时,我们对一个表进行增.删.改的操作,可能会要求对另外的表进行相同的操作,为了保证这多个sql能同时执行成功,就要使用mysql的事务处理. 注意:只有增删改的操作可以进行回滚,alter等操作不可行! 事务特性: 1.原子性:所有的sql执行操作必须全部成功,否则则回滚到处理前状态 2.一致性: 确保数据库正确地改变状态后,成功提交的事务. 3.隔离性: 使事务操作彼此独立的和透明的. 4.持久性: 确保提交的事务的结果或效果的系统出现故障的

MySQL事务处理实现方法步骤

需求说明: 案例背景:银行的转账过程中,发生意外是在所难免.为了避免意外而造成不必要的损失,使用事务处理的方式进行处理: A账户现有余额1000元,向余额为200的B账户进行转账500元.可能由于某原因: A账户在扣除转账金额时发生错误,使用事务回滚来返回到初始状态 A账户成功扣除转账金额后,B账户添加转账金额发生错误,使用事务回滚到初始状态 提示:先建数据表account,字段包括姓名(username).余额(money),再分别利用事务处理以上两种情况. [sql] view plain 

谷哥的小弟学后台(01)——MySQL(1)

探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 详解Android主流框架不可或缺的基石 站在源码的肩膀上全解Scroller工作机制 Android多分辨率适配框架(1)- 核心基础 Android多分辨率适配框架(2)- 原理剖析 Android多分辨率适配框架(3)- 使用指南 自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View

mysql事务处理失效原因

最近项目中使用mysql数据库时出现一个问题,运用spring的事务注解(@transaction)来管理事务时,发现用事务注解@transaction标记的方法里,如果出现异常,事务并没有回滚,而是直接提交到了数据库,刚开始还以为是spring的事务配置有问题,检查一遍后还是不行,最后查阅了很多资料才发现原来是mysql数据库存储引擎的问题. mysql有多种存储引擎,有些版本(mysql5.5.5以前默认是MyISAM,mysql5.5.5以后默认是InnoDB)安装时默认的存储引擎是MyI