站保站

服务市场
  • 网站市场
  • 单机游戏
  • 平台大厅
  • 转让市场
  • 发卡市场
  • 广告市场
  • 下载市场
  • 收录市场
  • 本站平台
    平台客服
    微信Q群



    平台微博/weibo    平台微信/公众号    平台抖音/快手   
    曝光台    保障    地图   
    上传资源 快速赚钱
    站保站    登录      |  注册  |  

    只需一步,快速开始!

     找回密码   |   协议
    热门搜索: 网站开发 App报毒 挖矿源码 代办资质

    sql事务

    • 时间:2020-10-27 21:23 编辑:Sisto 来源: 阅读:122
    • 扫一扫,手机访问
    摘要:

    在进行sql语句执行时候,有些行为需要进行牵涉到多个表数据的操作,如果在执行的时候仅仅执行到了一条操作语句而没有执行完整,就需要进行全部撤销

    update t_accounts set money = money-100 where id = 1;
    update t_accounts set money = money+100 where id = 2;
    
    • 1
    • 2

    例如上面两句(进行转账),都必须全部执行才能属于可以通过的行为,这种把多条语句作为一个整体进行操作的功能,被称为数据库事务

    将多条事务当作同一事务进行统一执行,就需要使用 Begin(开始一个事务)

    开启一个新的事务,然后接事务中需要进行操作的代码,以显式事务的方式进行

    Begin;
    update t_accounts set money = money-100 where id = 1;
    update t_accounts set money = money+100 where id = 2;
    
    • 1
    • 2
    • 3

    当结束对于显式事务的操作后,在最后加上commit进行提交

    BEGIN;
    UPDATE accounts SET money = money - 100 WHERE id = 1;
    UPDATE accounts SET money = money + 100 WHERE id = 2;
    COMMIT;
    
    • 1
    • 2
    • 3
    • 4

    在整个事务语句中,如果commit语句执行失败,那么整个事务将会直接失效


    隔离级别:

    脏读(Dirty Read)不可重复读(No Repeatable Read)幻读(Phantom Read)
    Read uncommitted
    Read committed×
    Repeatable read××
    Serializable×××
    • 全部评论(0)
    • 最新

    信息加载中,请等待

    微信客服(速回)

    微信客服(慢回)



    企业微信客服二维码
    联系我们
    平台客服: 平台QQ客服

    平台电话:400电话迁移中!

    平台邮箱:28292383@qq.com

    工作时间:周一至周五:早10:00 晚:18:00

    营业执照     网站ICP备案:鲁ICP备20027607号-1     鲁公网安备:37068702000078号     增值电信业务经营许可证、在线数据与交易处理业务许可证:鲁B2-20200681      © 2016-2024 站保站  https://www.zhanbaozhan.com/ 版权所有!      平台规范:   关于我们   广告合作   隐私条款   免责声明   法律声明   服务条款   网站地图   平台工单!