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");

    ?>

  • 相关阅读:
    centos 7 pip install MySQL-python 报错
    修改centos history记录数上限
    CentOS 7 如何设置为eth0网卡
    字符串判空有空格报错:binary operator expected
    Linux指定用户运行程序
    MySQL 新建用户,为用户授权,指定用户访问数据库
    解决linux 中文乱码
    UNIX目录访问操作
    通过lseek产生空洞文件
    lseek系统调用
  • 原文地址:https://www.cnblogs.com/james1207/p/3278490.html
Copyright © 2011-2022 走看看