博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 一条sql 事务_MySQL的事务
阅读量:6361 次
发布时间:2019-06-23

本文共 793 字,大约阅读时间需要 2 分钟。

MySQL中事务是一个最小的不可分割的工作单元,事务能保证一个业务的完整性

一个业务中有多条sql语句,这些sql语句必须同时成功或同时失败,这时需要要事务来保证这个要求。

例如:a从自己的银行卡上转100给b

update user set money=money-100 where name='a';

update user set moeny=money+100 where name='b';

这两个sql语句必须同时成功或同时失败,这就需要事务

MySQL里是自动开启事务和自动提交数据的,这样每执行一个sql语句都会将数据提交到数据库中,这样就完成一个事务

提交到数据库中的记录是不能撤销的,这样如果后面的sql语句执行不了,前面的sql就不能撤回了。

我们可以关闭自动开启事务和自动提交数据,这样我们可以设置一个事务里有多个sql语句,在它们全部执行完时,在向数据库提交数据,这样就能解决sql多个语句同时成功的操作

撤销未提交的sql操作为 rollback

关闭自动开启事务和自动提交数据   set autocommit =0;

开启事务:begin/start transaction;

手动提交数据  :commit

事例:

679b6fe5727fe45b1503a9462ef7e901.png

手动设置事务,关闭自动提交数据功能,我们在cmd上进行的多个sql操作不会将数据提交到数据库中 手动开启事务  begin;

我们在另一个cmd中查看数据库数据没有受其影响

791add230e57f53fdfac61e456f954af.png

我们手动提交数据commit

cd2c6cb0be74e4bc93d97a43ab625254.png

这时cmd中的操作记录才被传到数据库,在没有提交前,一个rollback就可以撤销这个事务中所有的sql语句

提交后,数据库才会将库中的数据修改。

a23631441b0db7cb50bcd00dd86000e6.png

事务的四大特性

1:原子性   事务是最小单位,不可拆分

2:一致性   事务中sql语句必须同时成功或同时失败

3:隔离性   不同的事务是不会相互影响的

4:持久性   事务完成提交数据后不能再撤回了。

转载地址:http://ucima.baihongyu.com/

你可能感兴趣的文章
gulp 使用入门
查看>>
9.spring:事务管理(下):声明式事务管理
查看>>
8、设计模式-结构型模式-适配器模式
查看>>
macOS 安装 pip
查看>>
Redis的学习使用
查看>>
python3-cookbook
查看>>
IIS部署asp.net报404错误 iis与Framework安装顺序造成无法访问网站的解决办法
查看>>
ARM汇编程序闪烁灯与其反汇编代码比较
查看>>
angular自定义过滤器在页面和控制器中的使用
查看>>
学习CodeIgniter框架之旅(一)自定义模板目录
查看>>
mysql-connector-java.6.0.6出现的问题 Cannot resolve com.mysq.jdbc.Connection.ping method
查看>>
高质量编程指南备忘
查看>>
Solr定时更新
查看>>
python2下导出csv乱码原因pandas
查看>>
Html5模版
查看>>
Qt编写高仿苹果MAC电脑输入法(支持触摸滑动选词)
查看>>
Servlet-xml配置简介以及url-pattern简介
查看>>
设计模式学习(四):集中式工厂的实现—简单工厂模式
查看>>
【Augmented Reality】增强现实中的光学透射式头盔显示器的应用实例
查看>>
windows界面库种类
查看>>