MySQL事务处理实现方法步骤
发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,需求说明:案例背景:银行的转账过程中,发生意外是在所难免。为了避免意外而造成不必要的损失,使用事务处理的方式进行处理:A账户现有余额1000元,向余额为200的B账户进行转账500元。可能由于某原因:
千家信息网最后更新 2025年02月16日MySQL事务处理实现方法步骤
需求说明:
案例背景:银行的转账过程中,发生意外是在所难免。为了避免意外而造成不必要的损失,使用事务处理的方式进行处理:
A账户现有余额1000元,向余额为200的B账户进行转账500元。可能由于某原因:
A账户在扣除转账金额时发生错误,使用事务回滚来返回到初始状态
A账户成功扣除转账金额后,B账户添加转账金额发生错误,使用事务回滚到初始状态
提示:先建数据表account,字段包括姓名(username)、余额(money),再分别利用事务处理以上两种情况。
#创建账户表 CREATE TABLE IF NOT EXISTS account( id INT(11)NOT NULL AUTO_INCREMENT PRIMARY KEY, username VARCHAR(32)NOT NULL, money DECIMAL(9,2) )ENGINE=INNODB; #插入用户数据 INSERT INTO account(username,money)VALUES('A',1000.00); INSERT INTO account(username,money)VALUES('B',200.00); /*事务处理*/ # A账户汇款失败 SELECT * FROM account; #第一步 关闭事务自动提交模式 SET autocommit=0; #第二步 开始事务 START TRANSACTION; #第三步 发现汇款失败,将事务回滚ROLLBACK || 汇款成功将事件commit #假设语法错误 UPDATE account SET money=money-500 WHERE username='A'; SELECT * FROM account; UPDATE account SET money=money+200 WHERE username='B'; ROLLBACK; #第四步 还原Mysql数据库的的自动提交 SET autocommit=1; SELECT * FROM account; /*B接收汇款失败*/ SELECT *FROM account ; SET autocommit =0; START TRANSACTION; UPDATE account SET money=money-500 WHERE username='A'; SELECT * FROM account ; #假设语法错误 UPDATE account SET money=money+200 WHERE username ='B'; ROLLBACK; SET autocommit =1; SELECT * FROM account; #清除数据TRUNCATE account;备注:
使用IF NOT EXISTS创建数据表的解释
事务
账户
数据
转账
处理
汇款
错误
余额
金额
意外
成功
数据表
状态
语法
事件
原因
备注
姓名
字段
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
迈外迪网络安全服务诈骗
国土调查数据库标准试行
数据库数据工作手册
威海互联网科技股份有限公司
南邮研究生网络安全
逃跑吧少年移动服务器
工厂管理系统数据库设计er图
软件开发怎么刷新数据
最强蜗牛服务器一组多少服
网络安全开设的大学排名
前端如何与数据库交互
审核软件开发过程管理
html实现数据库管理系统
plsql数据库建表约束
安徽计算机软件开发价位
nas家庭服务器
深圳市聚智网络技术
数据库可以有多个主要数据吗
互联网科技名词含义是什么
吃鸡不同服务器怎么切换
网络安全 网络发展
电信网络安全的感想300字
构建网络技术基础的关键技术
计算机网络技术层面上的技术
石像鬼兽数据库
恒生科技和恒生互联网区别
国家网络技术应急处理中心
如何把两个数据库合并
如何租服务器来跑ai换脸
宪法中关于网络安全的