zoukankan      html  css  js  c++  java
  • mysql之事务

    事务处理

    begin        开始一个事物

    commit        事务确认

    rollback    事务回滚

    end        事务结束

    innodb下可以实现事务

    开始执行事务时如果在事务执行的过程中出现错误那么事务会回滚之前执行的都会失效

    在创建表时,就可以为table选择InnoDB引擎了。如果是以前创建的表,可以使用

    alter table table_name engine=InnoDB来改变数据表的引擎以支持事务。

    例:

    <?php

        $conn = mysql_connect('localhost','root','') or die ("数据连接错误!!!");

        mysql_select_db('shop',$conn);

        mysql_query("set names 'utf8'"); //使用utf8中文编码;

        //开始一个事务

        mysql_query("BEGIN"); //或者mysql_query("START TRANSACTION");

        $sql = "INSERT INTO main (num) VALUES (123)";

        $sql2 = "INSERT INTO main (num1) VALUES (456)";//这条我故意写错

        //如果不用事务或者用的而不是innodb引擎则$sql会成功$sql2会失败

        //用事务如果其中一条出现错误那么两条数据都不会执行成功

        $res = mysql_query($sql);

        $res1 = mysql_query($sql2);  

        if($res && $res1){

        mysql_query("COMMIT");

        echo '提交成功。';

        }else{

        mysql_query("ROLLBACK");

        echo '数据回滚。';

        }

        mysql_query("END");

    ?>

  • 相关阅读:
    python基础学习文件内容的操作
    python基础学习字符串操作
    python基础学习运算符
    python基础学习列表
    centos一键安装nginx
    centos6添加整段多IP脚本
    Ubuntu 添加整段多IP脚本
    安装python2.7
    两位float型的小数相加,不会变成两位小时的处理方法
    mysql 5.7 执行group by 语句报错
  • 原文地址:https://www.cnblogs.com/james1207/p/3278490.html
Copyright © 2011-2022 走看看