1.什么是事务?

  在现实生活中,我们往往会进行转账操作。转账可以分为两部分完成,转入和转出,只要两部分都完成了才算转账完成。在数据库中,这个过程是由两条sql语句来完成的,

如果任意一方的语句没有执行,会导致两个账号的资金不能同步。

  为了防止这种情况的发生,MySQL引入了事务。所谓的事务就是针对数据库的一组操作,可以由多条语句组成。事务具有同步的特点。

2.使用事务,先要开启事务。

 start transaction;

  

提交事务

commit;

在MySQL中直接书写的SQL语句都是自动提交的,而事务中的操作语句需要使用commit语句手动提交,只有事务提交后其中的操作才会生效。

如果不想提交事务,我们还可以使用相关语句取消事务(也称回滚),具体语句如下:

rollback;

需要注意的是,rollback语句只能针对未提交的事务执行的回滚操作,已经提交的事务是不能回滚的。

事务操作的特性:必须满足ACID

ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

  • 原子性:是指事务是一个不可再割分的工作单位,事务中的操作要不都发生,要么都不发生。
  • 一致性:是指事务开始和结束,数据库都没有收到破坏。也就是说,数据库事务不能破坏关系型数据库的完整性和业务逻辑上的一致性。
  • 隔离性:是指并发的事务都是相互隔离的。即就是一个事务内的操作和正在操作的数据必须封锁起来,不被企图修改的事务看到。
  • 持久性:是指在事务完成之后,事务对数据库的更改已经持久的保存在数据库中了,并不会回滚。即使出现了断电等情况,只要事务提交了,就会持久的存储在数据库中。

最新文章

  1. Webview加载本地js、图片的方法
  2. vc2010 win32 控制台应用程序中文乱码
  3. IntelliJ IDEA 常用设置讲解1
  4. 关于在c#中引用外部dll文件,在页面中找不到命名空间
  5. 做fzu oj 1045 做减法学到的sprintf()函数
  6. Objective-C 【self的用法】
  7. arcgis for javascript之ArcGISDynamicMapServiceLayer图层控制的实现
  8. 队列 <queue>
  9. sql server drop talbe 自动删除关联的外键 ,权限体系(一)
  10. apicloud中dialog使用方法
  11. TCP传输中序号与确认序号的交互
  12. 五年级--python函数高级运用
  13. 什么是MIPI
  14. python 模型 ORM简介
  15. Eclipse导入别人的项目报错:Unable to load annotation processor factory 'xxxxx.jar' for project
  16. python学习笔记(五)、抽象
  17. Python笔记(十五):匿名函数和@property
  18. Nginx URL后面不加斜杠301重定向
  19. xencenter如何安装系统
  20. stevedore动态加载模块

热门文章

  1. windows 快捷键 部分
  2. 关机命令 shutdown
  3. Django ModelForm操作及验证
  4. 使用movielens数据集动手实现youtube推荐候选集生成
  5. Layer 弹出层抖动问题
  6. Vim命令合集(四)
  7. mac搭建apace和php开发环境
  8. 【转】mysql卸载(windows)
  9. idea工具
  10. TableLayoutPanel