mysql语句中事务可靠性_MYSQL中的事务
我们来看一下住户退房这个业务需要做什么事情?
要更新该用户的离开时间、总金额
需要更新用户所住的房屋的状态为空闲
由此可见,以上需要两个SQL来实现。
发现问题:若某一个SQL语句执行出错的情况下,另外一个SQL结果却已经更新到数据库,造成了数据的不完整。
如何解决:事务
l 事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行
l 事务用来管理insert,update,delete语句
1.1.1. 事务的特性
一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)
1、事务的原子性:一组事务,要么成功;要么撤回。
2、稳定性 : 有非法数据(外键约束之类),事务撤回。
3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。
4、可靠性:软、硬件崩溃后,数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得,
1.1.2. MYSQL 事务处理主要有两种方法:
1、用 BEGIN, ROLLBACK, COMMIT来实现
BEGIN 开始一个事务
ROLLBACK 事务回滚
COMMIT 事务确认
2、直接用 SET 来改变 MySQL 的自动提交模式:
SET AUTOCOMMIT=0 禁止自动提交
SET AUTOCOMMIT=1 开启自动提交
mysql语句中事务可靠性_MYSQL中的事务相关推荐
- mysql 语句怎样修饰约束_MySQL中的约束,添加约束,删除约束,以及一些其他修饰讲解...
(1)创建数据库 CREATE DATABASES 数据库名; (2)选择数据库 USE 数据库名; (3)删除数据库 DROP DATAVBASE 数据库名; (4)创建表 CREATE TABLE ...
- mysql如何查看事务日记_MySQL中的几种日志了解
前言 MySQL中有以下日志文件,分别是: 1:重做日志(redo log) 2:回滚日志(undo log) 3:二进制日志(binlog) 4:错误日志(errorlog) 5:慢查询日志(slo ...
- mysql sql 事务写作_mysql中的事务
MySQL事务相关 一. 什么是事务 事务(Transaction)是一个逻辑序列,该序列要么执行,要么不执行. 例如:转换业务 A 给 B 转账 1000 元,设计两个操作: A减少1000元 B增 ...
- mysql数据库回滚日志_MySQL中是如何实现事务提交和回滚的?
什么是事务 事务是由数据库中一系列的访问和更新组成的逻辑执行单元 事务的逻辑单元中可以是一条SQL语句,也可以是一段SQL逻辑,这段逻辑要么全部执行成功,要么全部执行失败 举个最常见的例子,你早上出去 ...
- mysql教程or怎么用_MySQL中or语句用法示例
1.mysql中or语法的使用,在mysql语法中or使用注意点. 项目遇到坑,遍历发放奖励数据查询错误!!! $sql = 'SELECT * FROM `vvt_spread_doubleegg_ ...
- mysql数据库 or的用法_MySQL中or语句用法示例
1.mysql中or语法的使用,在mysql语法中or使用注意点. 项目遇到坑,遍历发放奖励数据查询错误!!! $sql = 'SELECT * FROM `vvt_spread_doubleegg_ ...
- mysql重做日志恢复数据_MySQL中重做日志,回滚日志,以及二进制日志的简单总结...
MySQL中有六种日志文件, 分别是:重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log). ...
- mysql聚合函数count用法_MySQL中聚合函数count的使用和性能优化技巧
本文的环境是Windows 10,MySQL版本是5.7.12-log 一. 基本使用 count的基本作用是有两个: 统计某个列的数据的数量: 统计结果集的行数: 用来获取满足条件的数据的数量.但是 ...
- mysql explain key为空_MySQL中explain的使用以及性能分析
原标题:MySQL中explain的使用以及性能分析 MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性 ...
最新文章
- java jdk动态代理学习记录
- HDFS 常用操作分类汇总整理
- 软件项目失败的心理原因
- adobe出的cookbook
- view转换成html字符串,从Webview获取html字符串并将其存储为html文件
- java怎么测试接口测试_java怎么测试接口
- 一、MySQL整体架构
- Contest2657 - 2021ACM俱乐部后备营个人训练赛第4场 部分题解
- 如何在Android状态栏中隐藏图标
- 2018永洪科技大数据技术上海峰会-唤醒数据.遇见未来
- Jetson nano 使用ROS 实现串口通信,并且解析通信协议(C++)
- Cocos2d之Box2d基础知识
- 纪中暑假培训 :Date:7 终章-剑之魂
- 【基础】HBuilderX 找不到手机或模拟器设备(安卓端)
- 电子签名合同的有效期是多久
- Jmeter 压测分析
- 新手自主创业需要注意哪些误区
- 未来傻瓜式服务将大行其道
- 自己总结的CSS以及JS各种库的在线CDN引用地址,链接可以直接复制(不定期更新)
- Chris and Magic Square
热门文章
- python 常量_大疆机甲大师Python开发: 两只老虎
- stm32f302 can通讯_福特福克斯发动机无法启动,诊断电脑还通讯不了怎么修?
- 常用 BUG 解决方法
- OS / linux / 互斥锁实现原理(futex)
- C/Cpp / static 关键字
- y sinx matlab,有一个函数 f(x,y)=x^2+sinxy+2y ,用matlab写一个程序 输入自变量的值,输出函数的值....
- postman设置带token的请求
- Hive的相关面试问题
- [笔记]路由器与交换机的区别
- tkinter中button按钮控件(三)