zoukankan      html  css  js  c++  java
  • mysql(五)事务

    事务

    事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不 执行。

    Mysql 中用 BEGIN, ROLLBACK, COMMIT 来实现事务

    BEGIN 开始一个事务 ROLLBACK 事务回滚 COMMIT 事务确认
    
    例子:张三账户转账转出 100 元到李四的账户 
    1、张三账户减去 100 元 
    2、李四账户增加 100 元
    
    
    begin;    // 开启一个事务;
    
    UPDATE myusers SET balance=balance-100 WHERE id=1;
    UPDATE myusers SET balance=balance+100 WHERE id=2;
    
    rollback;  // 如果有失败执行回滚;
    commit;   // 提交之后才更新数据;
    
    

    锁 lock

    Mysql 中的锁有表级锁和行级锁,这里主要讲最常用的表级锁

    1、添加读锁

        可以并发读,但是不能并发写,读锁期间,没释放锁之前不能进行写操作
        使用场景:读取结果集的最新版本,同时防止其他事务产生更新该结果集 主要用在需要数据依存关系时确认某行记录是否存在,并确保没有人对这个记录进行 UPDATE 或者 DELETE 操作
    
    lock table user read;
    
    
    unlock tables;
    
    

    2、添加写锁

    只有锁表的用户可以进行读写操作,其他用户不行 (并发下对商品库存的操作)
    多人抢一个商品
    lock table user write; 
    
    
    unlock tables;
    
    
  • 相关阅读:
    iframe嵌入页面自适应目标页面的高度
    pc端适配
    页面之间传值,接数值
    表单直传文件到七牛
    前端一些小技巧
    css3的一些知识点
    禁止用户长按选中
    修改Html的title值
    判断时间是多久前
    图片裁剪
  • 原文地址:https://www.cnblogs.com/kgwei520blog/p/13783010.html
Copyright © 2011-2022 走看看