首页 > 软件开发 > 编程语言 >

事务控制语言和mysql编程

来源:互联网 2023-03-17 00:19:00 439

事务控制语言和mysql编程mzX办公区 - 实用经验教程分享!

工具/原料

  • mysql编程

方法/步骤

  • 1

    1.事务的模式:mzX办公区 - 实用经验教程分享!

    是指,在mysql的安装之后的一种语句执行模式:mzX办公区 - 实用经验教程分享!

    自动提交模式:mzX办公区 - 实用经验教程分享!

    这是默认模式。这种模式,会让我们的sql,每一条语句,都会“当做”一个事务去执行。mzX办公区 - 实用经验教程分享!

    set autocommit = 1; //这是默认值mzX办公区 - 实用经验教程分享!

    mzX办公区 - 实用经验教程分享!

    手动提交模式:mzX办公区 - 实用经验教程分享!

    这种模式,我们通常使用的增删改语句,并不会立即生效,而是需要在之后人为使用“commit”来提交才能生效。mzX办公区 - 实用经验教程分享!

    set autocommit = 0;mzX办公区 - 实用经验教程分享!

    举例:mzX办公区 - 实用经验教程分享!

    set autocommit = 0;#设置为手动提交模式了,即非自动mzX办公区 - 实用经验教程分享!

    insert into .......mzX办公区 - 实用经验教程分享!

    update .....mzX办公区 - 实用经验教程分享!

    delete ......mzX办公区 - 实用经验教程分享!

    commit; //提交上述多条增删改语句,此时才生效;否则就不会生效;mzX办公区 - 实用经验教程分享!

    事务控制语言和mysql编程mzX办公区 - 实用经验教程分享!

  • 2

    2.典型事务安全应用的代码模式mzX办公区 - 实用经验教程分享!

    基本模式:mzX办公区 - 实用经验教程分享!

    1, start transaction; //也可以使用:begin;,表示“启动(开启/创建)一个事务”mzX办公区 - 实用经验教程分享!

    2,执行若干业务上需要的增删改语句;mzX办公区 - 实用经验教程分享!

    3,判断是否发生错误:mzX办公区 - 实用经验教程分享!

    如果错误:rollback; //回滚事务;这样之后,之前的多条语句,不管是否执行过,都“撤销”mzX办公区 - 实用经验教程分享!

    如果没有错:commit;//提交事务,也就是对之前的所有事情一次性进行提交确认——生效了mzX办公区 - 实用经验教程分享!

    mzX办公区 - 实用经验教程分享!

    体现在php中,一般就这么写:mzX办公区 - 实用经验教程分享!

    1,mysql_query(“start transaction;”); //启动一个事务mzX办公区 - 实用经验教程分享!

    2,执行若干语句:mzX办公区 - 实用经验教程分享!

    $result1 = mysql_query(“insert into .....”);mzX办公区 - 实用经验教程分享!

    $result2 = mysql_query(“update ....”);mzX办公区 - 实用经验教程分享!

    .......mzX办公区 - 实用经验教程分享!

    3,判断执行结果并决定是提交还是回滚:mzX办公区 - 实用经验教程分享!

    if( $result1 && $result2 && .... ){mzX办公区 - 实用经验教程分享!

    mysql_query(“commit”);mzX办公区 - 实用经验教程分享!

    }mzX办公区 - 实用经验教程分享!

    else{mzX办公区 - 实用经验教程分享!

    mysql_query(“rollback;”);mzX办公区 - 实用经验教程分享!

    }mzX办公区 - 实用经验教程分享!

    mzX办公区 - 实用经验教程分享!

    说明:mzX办公区 - 实用经验教程分享!

    如果按这种“启动事务”的代码流程,则跟系统中的事务模式的设置无关了。mzX办公区 - 实用经验教程分享!

    mzX办公区 - 实用经验教程分享!

    案例:mzX办公区 - 实用经验教程分享!

    事务控制语言和mysql编程mzX办公区 - 实用经验教程分享!

    事务控制语言和mysql编程mzX办公区 - 实用经验教程分享!

    事务控制语言和mysql编程mzX办公区 - 实用经验教程分享!

  • 3

    3.mysql编程mzX办公区 - 实用经验教程分享!

    编程,就是一种“逻辑代码”,具有如下3个特点:mzX办公区 - 实用经验教程分享!

    1,变量的使用;mzX办公区 - 实用经验教程分享!

    2,流程控制结构的使用;mzX办公区 - 实用经验教程分享!

    3,函数的使用;mzX办公区 - 实用经验教程分享!

    mzX办公区 - 实用经验教程分享!

    语句块包含符mzX办公区 - 实用经验教程分享!

    beginmzX办公区 - 实用经验教程分享!

    。。。。mzX办公区 - 实用经验教程分享!

    endmzX办公区 - 实用经验教程分享!

    事务控制语言和mysql编程mzX办公区 - 实用经验教程分享!

  • 4

    4.流程控制mzX办公区 - 实用经验教程分享!

    if分支结构mzX办公区 - 实用经验教程分享!

    它相当于js或php中的“大括号”使用场合。mzX办公区 - 实用经验教程分享!

    不过,mysql,它更灵活一些:mzX办公区 - 实用经验教程分享!

    mzX办公区 - 实用经验教程分享!

    该结构可以设定“标识符”,该标识符用于“代表”该语句块结构。则内部可以使用该标识符,以“退出”该语句块结构,比如:mzX办公区 - 实用经验教程分享!

    AAA: beginmzX办公区 - 实用经验教程分享!

    .......mzX办公区 - 实用经验教程分享!

    if ( ... ) thenmzX办公区 - 实用经验教程分享!

    beginmzX办公区 - 实用经验教程分享!

    leave AAA; //这里就是退出该AAA语句块。mzX办公区 - 实用经验教程分享!

    end;mzX办公区 - 实用经验教程分享!

    end if;mzX办公区 - 实用经验教程分享!

    mzX办公区 - 实用经验教程分享!

    end AAA ;mzX办公区 - 实用经验教程分享!

    事务控制语言和mysql编程mzX办公区 - 实用经验教程分享!

  • 4该信息非法爬取自百度经验
  • 5

    5.case分支结构mzX办公区 - 实用经验教程分享!

    有两种形式:mzX办公区 - 实用经验教程分享!

    事务控制语言和mysql编程mzX办公区 - 实用经验教程分享!

  • 6

    6.loop 循环结构:mzX办公区 - 实用经验教程分享!

    BBB : loopmzX办公区 - 实用经验教程分享!

    beginmzX办公区 - 实用经验教程分享!

    这里才是循环体的语句,中间可以通过BBB标识符来退出该循环;mzX办公区 - 实用经验教程分享!

    end;mzX办公区 - 实用经验教程分享!

    end loop BBB;mzX办公区 - 实用经验教程分享!

    事务控制语言和mysql编程mzX办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!mzX办公区 - 实用经验教程分享!


    标签: 编程语言

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码