MySQL事务以及特征
2024-09-05 17:59:58
1.什么是事务?
在现实生活中,我们往往会进行转账操作。转账可以分为两部分完成,转入和转出,只要两部分都完成了才算转账完成。在数据库中,这个过程是由两条sql语句来完成的,
如果任意一方的语句没有执行,会导致两个账号的资金不能同步。
为了防止这种情况的发生,MySQL引入了事务。所谓的事务就是针对数据库的一组操作,可以由多条语句组成。事务具有同步的特点。
2.使用事务,先要开启事务。
start transaction;
提交事务
commit;
在MySQL中直接书写的SQL语句都是自动提交的,而事务中的操作语句需要使用commit语句手动提交,只有事务提交后其中的操作才会生效。
如果不想提交事务,我们还可以使用相关语句取消事务(也称回滚),具体语句如下:
rollback;
需要注意的是,rollback语句只能针对未提交的事务执行的回滚操作,已经提交的事务是不能回滚的。
事务操作的特性:必须满足ACID
ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
- 原子性:是指事务是一个不可再割分的工作单位,事务中的操作要不都发生,要么都不发生。
- 一致性:是指事务开始和结束,数据库都没有收到破坏。也就是说,数据库事务不能破坏关系型数据库的完整性和业务逻辑上的一致性。
- 隔离性:是指并发的事务都是相互隔离的。即就是一个事务内的操作和正在操作的数据必须封锁起来,不被企图修改的事务看到。
- 持久性:是指在事务完成之后,事务对数据库的更改已经持久的保存在数据库中了,并不会回滚。即使出现了断电等情况,只要事务提交了,就会持久的存储在数据库中。
最新文章
- Webview加载本地js、图片的方法
- vc2010 win32 控制台应用程序中文乱码
- IntelliJ IDEA 常用设置讲解1
- 关于在c#中引用外部dll文件,在页面中找不到命名空间
- 做fzu oj 1045 做减法学到的sprintf()函数
- Objective-C 【self的用法】
- arcgis for javascript之ArcGISDynamicMapServiceLayer图层控制的实现
- 队列 <;queue>;
- sql server drop talbe 自动删除关联的外键 ,权限体系(一)
- apicloud中dialog使用方法
- TCP传输中序号与确认序号的交互
- 五年级--python函数高级运用
- 什么是MIPI
- python 模型 ORM简介
- Eclipse导入别人的项目报错:Unable to load annotation processor factory &#39;xxxxx.jar&#39; for project
- python学习笔记(五)、抽象
- Python笔记(十五):匿名函数和@property
- Nginx URL后面不加斜杠301重定向
- xencenter如何安装系统
- stevedore动态加载模块