使用Mysql执行事务实现模拟银行转账功能
MySQL二十三:执行事务实现转账
-- 事务
-- 测试实现转账
-- 注意点:mysql 是默认开启事务自动提交的
SET autocommit = 0 -- 关闭事务自动提交
SET autocommit = 0 -- 开启事务自动提交(默认)-- 手动处理事务
SET autocommit = 0 -- 关闭自动提交-- 事务开启
START TRANSACTION -- 标记一个事务的开始,从这个之后的sql都在同一个事务内
INSERT xx
INSERT xx-- 提交 :持久性(成功!)
COMMIT
-- 回滚 : 回到原来的样子(失败!)
ROLLBACK-- 事务结束
SET autocommit = 1 -- 开启自动提交(默认)SAVEPOINT -- 设置一个事务的保存点
ROLLBACK TO SAVEPOINT -- 回滚到保存点
RELEASE SAVEPOINT -- 撤销保存点 -- 转账 -----------------------------CREATE DATABASE shop CHARACTER SET utf8 COLLATE utf8_general_ciUSE shopCREATE TABLE `account`(`id` INT(3) NOT NULL AUTO_INCREMENT,`name` VARCHAR(30) NOT NULL,`money` DECIMAL(9,2) NOT NULL,PRIMARY KEY(`id`))ENGINE = INNODB DEFAULT CHARSET=utf8INSERT INTO `account`(`name`,`money`) VALUES ('A',2000.00),('B',10000.00)-- 模拟转账:事务SET autocommit = 0 -- 关闭自动提交START TRANSACTION -- 开启事务UPDATE `account` SET money=money - 500 WHERE `name` = 'A' -- A 减500元UPDATE `account` SET money= money+500 WHERE `name` ='B' -- B 加500 COMMIT -- 提交事务,就被持久化了ROLLBACK; -- 回滚SET autocommit = 1 -- 恢复默认
使用Mysql执行事务实现模拟银行转账功能相关推荐
- mysql执行事务的语句_详解MySQL执行事务的语法和流程
摘要:MySQL 提供了多种存储引擎来支持事务. MySQL 提供了多种存储引擎来支持事务.支持事务的存储引擎有 InnoDB 和 BDB,其中,InnoDB 存储引擎事务主要通过 UNDO 日志和 ...
- 详解MySQL执行事务的语法和流程
摘要:MySQL 提供了多种存储引擎来支持事务. MySQL 提供了多种存储引擎来支持事务.支持事务的存储引擎有 InnoDB 和 BDB,其中,InnoDB 存储引擎事务主要通过 UNDO 日志和 ...
- 详解mysql事务_详解MySQL执行事务的语法和流程
摘要:MySQL 提供了多种存储引擎来支持事务. MySQL 提供了多种存储引擎来支持事务.支持事务的存储引擎有 InnoDB 和 BDB,其中,InnoDB 存储引擎事务主要通过 UNDO 日志和 ...
- python模拟银行存取款_python 模拟银行转账功能过程详解
首先画出流程图,流程图与现实代码有出入,因为刚开始画流程图的时候,有些东西没考虑进去,后来写着写着就慢慢能想起来并实现了. 另有一点经验推荐给新手朋友,如果说碰到一个项目无从下手的话,就先慢慢去写,写 ...
- 3、MySQL执行事务的语法和流程
MySQL 提供了多种存储引擎来支持事务.支持事务的存储引擎有 InnoDB 和 BDB,其中,InnoDB 存储引擎事务主要通过 UNDO 日志和 REDO 日志实现,MyISAM 存储引擎不支持事 ...
- python模拟银行存取款_python 简单模拟银行转账功能
看python教程第三节课的作业 首先画出流程图,流程图与现实代码有出入,因为刚开始画流程图的时候,有些东西没考虑进去,后来写着写着就慢慢能想起来并实现了. 另有一点经验推荐给新手朋友,如果说碰到一个 ...
- mysql的从节点能否执行事务_MySQL执行事务的语法与流程详解
摘要:MySQL 提供了多种存储引擎来支持事务. MySQL 提供了多种存储引擎来支持事务.支持事务的存储引擎有 InnoDB 和 BDB,其中,InnoDB 存储引擎事务主要通过 UNDO 日志和 ...
- android 数据库 事务,Android数据库中事务操作方法之银行转账示例
Android数据库中事务操作方法之银行转账示例 发布时间:2020-09-14 18:19:43 来源:脚本之家 阅读:79 作者:Qi_Yuan 本文实例讲述了Android数据库中事务操作方法之 ...
- 利用mysql模拟银行转账_实践项目七:模拟银行转账系统(python+mysql)
环境:ubutu 16.04 + python2.7 + mysql 5.7.19 最近学习python操作mysql数据库的知识,python访问数据库有自己的统一接口程序:Python DB AP ...
最新文章
- error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. 的解决方法
- Java EE---通过Spring JDBC实现数据库的增、删、改、查
- 测试环境mysql参数max_allowed_packet自动更改的问题排查过程
- jq苹果手机全屏下点击无效果_看剧、下视频、看小说,这一个app就可以~
- Python打开文件,将list、numpy数组内容写入txt文件中
- 02.uri-search
- Spring boot 定制banner
- nfc卡模式与标准模式_张家口市环卫进入首都标准“京环模式”
- python实现一个简单的项目_Python小项目四:实现简单的web服务器
- 汽车语音控制是什么意思 汽车语音控制怎么用
- java 复杂表达式计算_我的计算器. 用java实现的. 可以支持复杂表达式
- 我们公司使用了 6 年的Spring Boot 项目部署方案!打包 + Shell 脚本部署详解,稳的一批!...
- 翻译: Keras 标准化:TensorFlow 2.0 中高级 API 指南
- 20200427 FTL 模板语言参考 梳理 (常用)
- MATLAB机器人工具箱2-机器人模型建立
- 【渝粤教育】电大中专营销策划原理与实务 (3)作业 题库
- 新的开始之Win7、CentOS 6.4 双系统 硬盘安装
- 计算机usb端口没反应,电脑usb接口没反应是什么原因?电脑usb接口没反应解决方法...
- 会说话的好朋友:汤姆猫开发商Outfit7旗下应用盘点
- 专科mysql数据库大作业_数据库大作业整理·总