事务操作

举例:

create table my_account(
id int unsigned not null primary key auto_increment,
account varchar(16) not null unique,
name varchar(10) not null,
money decimal(20,2)) charset utf8;

insert into my_account values
(1 , "0000000000000000" , "张三", 1000),
(2 , "1111111111111111" , "李四", 2000),
(3 , "2222222222222222" , "王五", 3000);

-- 如果此时进行转账操作
update my_account set money = money - 500 where id = 1;

-- 如果停电 就会出问题:张三转账给某人了 可是某人没收到 而且张三也亏了500元

/****************************************************************************/

-- 事务操作 (1.手动提交 2. 自动提交(默认)
start transaction;           //开启事务操作

-- 转账
update my_account set money = money - 500 where id = 1;

-- 查询数据
select * from my_account; (查看到已经扣了500 其实这是 事务管理 操作了的)

-- 此时停电 会 回滚

-- 转账
update my_account set money = money + 500 where id = 2;

-- 手动提交
commit;

/*******************************************************************************/

-- 有关回滚点

-- 开启事务
start transaction;

-- 2 3转账给1 500元
update my_account set money = money - 500 where id = 2;

-- 设置回滚点 
savepoint sp1;

update my_account set money = money - 600 where id = 3; //这步做错了

-- 回滚
rollback to sp1;

图片展示:

事务操作 mysql的事务操作相关推荐

  1. python3操作mysql教程_python3操作mysql教程

    一.下载\安装\配置 1. python3 当前最新版本是python3.2,下载地址是 http://www.python.org/ftp/python/3.2.3/python-3.2.3.msi ...

  2. golang mysql curd_Go 语言操作 MySQL 之 CURD 操作

    本文转载于SegmentFault社区 作者:Meng小羽 MySQL 是目前开发中最常见的关系型数据库,使用 Go 语言进行操控数据库需要使用 Go 自带database/sql和驱动go-sql- ...

  3. php操作mysql数据_PHP - 操作MySQL数据库

    第16章 PHP操作MySQL 学习要点: 1.PHP连接到MySQL 2.增删改查 3.其他常用函数 如果你已经具有了使用PHP.SQL和MySQL的丰富经验,现在就可以把所有这些技术组合在一起.P ...

  4. mysql 空间数据操作,MySQL 空间数据 简单操作

    在做的项目中需要,自己绘制区域图形,并存储起来,后面还有更新的需要,存文件不方面,想到现在数据库都支持空间数据库. 现在用的就是 MySQL ,就继续用 MySQL 来存储.管理空间数据.下面就做一些 ...

  5. linux shell操作mysql,Linux shell操作mysql数据库的方法

    摘要 腾兴网为您分享:Linux shell操作mysql数据库的方法,鱼乐贝贝,宜信,嘻嘻动漫,西餐菜谱等软件知识,以及包装效果图,德州人社,evasi0n.com,ios迅雷,民革e家,动态表情, ...

  6. mysql crud操作_c#操作mysql数据库CRUD操作

    [实例简介] c#操作mysql数据库 CRUD [实例截图] [核心代码] class SqlHelper { //返回链接数据库的字符串 public static string ConnStri ...

  7. jdbc连接操作mysql,直接操作和预处理方式

    步骤: 1. 加载sql数据库驱动 Class.forName("com.mysql.jdbc.Driver"); 2. 连接数据库 con = DriverManager.get ...

  8. PDF.NET数据开发框架操作MySQL实体类操作实例

    在我们最近的项目中,SQL-MAP使用较多,但是实体类用的很少,实际上,"PDF.NET数据开发框架"的实体类相当强大,下面的测试程序是在MySQL中操作的实例. 1,首先在App ...

  9. larval 操作mysql数据库_laravel操作数据库

    要开启相应数据库的pdo扩展. 配置数据库连接 在larave中连接数据库的配置地方有两个 1..env文件 2.修改config/database.php文件 如下: 注意此时要开启MySQL,也就 ...

最新文章

  1. 一文详解视觉里程计轨迹评估工具-evo的用法
  2. Git使用入门 - 在Git上新建项目
  3. APP测试流程和测试点
  4. 单片机控制小风扇马达c语言,模拟风扇控制电路(单片机C程序设计)
  5. mybatis大于小于的转义
  6. android keystore作用,如何使用Android KeyStore安全地存储任意字符串?
  7. “为什么中国没有Apache基金会这样的组织?”
  8. 数据结构与算法之-----栈的应用(二)
  9. 【版本控制工具】svn服务器、客户端安装配置及eclipse的svn检出
  10. 预定义类型未定义或导入_探索类型系统的底层 - 自己实现一个 TypeScript
  11. iOS-设置导航栏颜色(iOS8+)
  12. MediaRecorder之视频录制
  13. 【网络】Wireshark分析RST消息
  14. 幼师资格证综合素质计算机知识点,教师资格证 | 综合素质基本能力13个必备知识点...
  15. 从COVID-19大流行中汲取哪些教训?10种方法帮CIO预防下一次危机
  16. 基于java springboot医院挂号微信小程序源码(毕设)
  17. SAP SE38代码大小写设定
  18. mktime()函数使用
  19. Revit二次开发环境平台的搭建
  20. c#串口通信(三)--半双工通信的数据接收

热门文章

  1. 2011年c语言二级计算机考试,2011年9月全国计算机等级考试二级C语言机试
  2. 一些恶意软件的分析收集整理
  3. db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql代码示例
  4. python wmi antivirusproduct_Python中的WMI查询问题
  5. python 数据库 实战_干货!python与MySQL数据库的交互实战
  6. java str2date,java date类与string类实例代码分享
  7. 中间表增加额外字段_如何定制分表中间件
  8. php 获取html中图片不显示,HTML中img标签src属性用PHP设置后不显示
  9. 一种mac使用机械键盘的解决方案
  10. redis常用API