zoukankan      html  css  js  c++  java
  • MYSQL中的事务

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

    1. 要更新该用户的离开时间、总金额
    2. 需要更新用户所住的房屋的状态为空闲

    由此可见,以上需要两个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 开启自动提交

  • 相关阅读:
    企业要主动淘汰五种人
    人力管理的核心:选、用、育、留
    张瑞敏:正确路线确定后,干部就是决定因素
    西点军校如何培养学员
    董事长如何找合适的搭档
    企业家何时应该放权
    会计基础视频
    同样劳动,为何结果不同?
    什么是真正的工作到位
    中国的人口和经济周期
  • 原文地址:https://www.cnblogs.com/dengcl/p/7568391.html
Copyright © 2011-2022 走看看