首页 > 数据库 >SQL--事务

SQL--事务

时间:2023-08-22 15:57:52浏览次数:40  
标签:事务 name -- money account SQL where 1000

SQL--事务

什么是事务?

事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败

默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务。

转账操作(张三给李四转1000块钱)

# 对于当前来现在的每个语句都是一个事务
# 1 查询张三账户的余额
select * from account where name='张三';

# 2.将张三账户余额-1000
update account set money=money-1000 where name='张三';

# 3.将李四账户余额+1000
update account set money=money+1000 where name='李四';

事务操作

image-20230822124338143

查询当前事务的提交方式

# 1为自动提交 0为手动提交
select @@autocommit;

设置事务为手动提交

# 设置为手动提交事务
set @@autocommit=0;

提交事务

commit;

回滚事务

# 回滚
rollback;

事务操作(二)

image-20230822124412996

# 方式2
# 对于当前来现在的每个语句都是一个事务
# 1 查询张三账户的余额
start group_replication ;
select * from account where name='张三';
# 2.将张三账户余额-1000
update account set money=money-1000 where name='张三';
程序抛出异常...
# 3.将李四账户余额+1000
update account set money=money+1000 where name='李四';
commit;
# 回滚
rollback;

事务的四大特性

image-20230822153511112

并发事务问题

多个并发事务出现的问题.

脏读

image-20230822154014212

不可重复读

image-20230822153943659

幻影

image-20230822154431651

标签:事务,name,--,money,account,SQL,where,1000
From: https://www.cnblogs.com/harper886/p/17648714.html

相关文章

  • cwltoo学习笔记
    执行工作流:cwltool/home/zcy/download/cwl/wf.cwl/home/zcy/download/cwl/echo-job.ymlwf.cwlcwlVersion:v1.2class:Workflowinputs:message:stringoutputs:out:type:FileoutputSource:uppercase/example_outsteps:echo:run:/home/......
  • 库文件
    静态库和动态库静态库将库打包到产品---》生成可执行文件动态库运行时才加载到可执行文件静态库:可执行程序大,部署难度容易,升级难度大动态库:可执行程序小,部署难度难,升级难度小库文件的生成静态库生成目标文件把目标文件打包成静态库   arcrsv  libalgo.a  ......
  • [ABC098D] Xor Sum 2 题解
    题解传送门题目大意给出一个序列\(A\),求\(A_l\oplusA_{l+1}\oplus\dots\oplusA_r=A_l+A_{l+1}+\dots+A_r\)(\(\oplus\)即为\(xor\)异或)解析众所周知,异或是位运算中的一种不进位加法,即为如果两个\(bit\)相等返回\(0\),反之返回\(1\)。为什么说是不......
  • 31、NAT地址转换-动态NAT转换
    动态NAT是将内部地址与公网地址进行对应转换,只是建立一个组,内部地址在转换的时候选择一个空闲的公网地址,如果地址池中公网地址使用完毕,其他内网地址无法连接外部网络。动态NAT转换一般也不使用,因为同样不能节省公网地址。 1、基本配置:删除之前配置的静态NAT2、动态NAT地址转......
  • kafka相关命令
    删除topic:/bin/kafka-topics--delete--topictest--bootstrap-serverlocalhost:9092 新增topic:/bin/kafka-topics--create--topictest--bootstrap-serverlocalhost:9092查询组:/bin/kafka-consumer-groups.sh--bootstrap-server127.0.0.1:9092--describe--group......
  • 「NOIP2008 普及组」ISBN 号码 题解
    前言转自博客,早期黑历史作品。这是本蒟蒻の第一篇题解qwq,发在博客上,还请多多关照.这道题是一道橙题,难度没有太大的问题,对于大犇们来说自然是一遍过的,本蒟就只能调调再交了.题面传送门题目描述每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括99位数字、1......
  • 「NOIP2010」机器翻译 题解
    前言附加任务这道题也是一个简单模拟题。传送门解析这道题就是一个简单的模拟题,简单来说就是如果内存里面没有这个单词(其实是一个数)的话就从外存入队,如果内存容量不够,出队即可。对了,每次查询时还要计数噢!代码话不多说上代码#include<bits/stdc++.h>usingnamespacestd......
  • SQL注入-sqlmap的安装
    一、Sqlmap简介sqlmap是一个自动化的sql注入工具,其主要功能是扫描,发现并利用给定的URL进行sql注入,目前支持数据库有mysql、oracle、access、postagesql、sqlserver、sqlite等二、SQLMap下载下载官网:https://sqlmap.org/三、SQLMap安装注:因为sqlmap基于Python语言开发的,所以......
  • P1164 小A点菜
    餐馆菜品种类不少,有N种,第i中卖c[i]元,且每种只有一样小A要把V元全部花光,问有多少种点菜方式1.动态规划dp[j]=dp[j]+dp[j-c[i]]intmaxval(intV,vector<int>&c){intn=c.size();vector<int>dp(V+1);dp[0]=1;for(inti=0;i<n;i++)for(in......
  • 「CSP-J2019」交通换乘 题解
    转自博客。传送门一道橙题,但是会T。题面[CSP-J2019]公交换乘题目描述著名旅游城市B市为了鼓励大家采用公共交通方式出行,推出了一种地铁换乘公交车的优惠方案:在搭乘一次地铁后可以获得一张优惠票,有效期为45分钟,在有效期内可以消耗这张优惠票,免费搭乘一次票价不超过地......