我们来看一下住户退房这个业务需要做什么事情?

要更新该用户的离开时间、总金额

需要更新用户所住的房屋的状态为空闲

由此可见,以上需要两个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中的事务相关推荐

  1. mysql 语句怎样修饰约束_MySQL中的约束,添加约束,删除约束,以及一些其他修饰讲解...

    (1)创建数据库 CREATE DATABASES 数据库名; (2)选择数据库 USE 数据库名; (3)删除数据库 DROP DATAVBASE 数据库名; (4)创建表 CREATE TABLE ...

  2. mysql如何查看事务日记_MySQL中的几种日志了解

    前言 MySQL中有以下日志文件,分别是: 1:重做日志(redo log) 2:回滚日志(undo log) 3:二进制日志(binlog) 4:错误日志(errorlog) 5:慢查询日志(slo ...

  3. mysql sql 事务写作_mysql中的事务

    MySQL事务相关 一. 什么是事务 事务(Transaction)是一个逻辑序列,该序列要么执行,要么不执行. 例如:转换业务 A 给 B 转账 1000 元,设计两个操作: A减少1000元 B增 ...

  4. mysql数据库回滚日志_MySQL中是如何实现事务提交和回滚的?

    什么是事务 事务是由数据库中一系列的访问和更新组成的逻辑执行单元 事务的逻辑单元中可以是一条SQL语句,也可以是一段SQL逻辑,这段逻辑要么全部执行成功,要么全部执行失败 举个最常见的例子,你早上出去 ...

  5. mysql教程or怎么用_MySQL中or语句用法示例

    1.mysql中or语法的使用,在mysql语法中or使用注意点. 项目遇到坑,遍历发放奖励数据查询错误!!! $sql = 'SELECT * FROM `vvt_spread_doubleegg_ ...

  6. mysql数据库 or的用法_MySQL中or语句用法示例

    1.mysql中or语法的使用,在mysql语法中or使用注意点. 项目遇到坑,遍历发放奖励数据查询错误!!! $sql = 'SELECT * FROM `vvt_spread_doubleegg_ ...

  7. mysql重做日志恢复数据_MySQL中重做日志,回滚日志,以及二进制日志的简单总结...

    MySQL中有六种日志文件, 分别是:重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log). ...

  8. mysql聚合函数count用法_MySQL中聚合函数count的使用和性能优化技巧

    本文的环境是Windows 10,MySQL版本是5.7.12-log 一. 基本使用 count的基本作用是有两个: 统计某个列的数据的数量: 统计结果集的行数: 用来获取满足条件的数据的数量.但是 ...

  9. mysql explain key为空_MySQL中explain的使用以及性能分析

    原标题:MySQL中explain的使用以及性能分析 MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性 ...

最新文章

  1. java jdk动态代理学习记录
  2. HDFS 常用操作分类汇总整理
  3. 软件项目失败的心理原因
  4. adobe出的cookbook
  5. view转换成html字符串,从Webview获取html字符串并将其存储为html文件
  6. java怎么测试接口测试_java怎么测试接口
  7. 一、MySQL整体架构
  8. Contest2657 - 2021ACM俱乐部后备营个人训练赛第4场 部分题解
  9. 如何在Android状态栏中隐藏图标
  10. 2018永洪科技大数据技术上海峰会-唤醒数据.遇见未来
  11. Jetson nano 使用ROS 实现串口通信,并且解析通信协议(C++)
  12. Cocos2d之Box2d基础知识
  13. 纪中暑假培训 :Date:7 终章-剑之魂
  14. 【基础】HBuilderX 找不到手机或模拟器设备(安卓端)
  15. 电子签名合同的有效期是多久
  16. Jmeter 压测分析
  17. 新手自主创业需要注意哪些误区
  18. 未来傻瓜式服务将大行其道
  19. 自己总结的CSS以及JS各种库的在线CDN引用地址,链接可以直接复制(不定期更新)
  20. Chris and Magic Square

热门文章

  1. python 常量_大疆机甲大师Python开发: 两只老虎
  2. stm32f302 can通讯_福特福克斯发动机无法启动,诊断电脑还通讯不了怎么修?
  3. 常用 BUG 解决方法
  4. OS / linux / 互斥锁实现原理(futex)
  5. C/Cpp / static 关键字
  6. y sinx matlab,有一个函数 f(x,y)=x^2+sinxy+2y ,用matlab写一个程序 输入自变量的值,输出函数的值....
  7. postman设置带token的请求
  8. Hive的相关面试问题
  9. [笔记]路由器与交换机的区别
  10. tkinter中button按钮控件(三)