mysql之事务

页面导航:首页 > 数据库 > Mysql > mysql之事务

mysql之事务

来源: 作者: 时间:2016-02-17 10:07 【

mysql之事务事务处理begin 开始一个事物commit 事务确认rollback 事务回滚end 事务结束innodb下可以实现事务开始执行事务时如果在事务执行的过程中出现错误那么事务会回滚之前执行的都会
之事务
 
事务处理
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"); 
?>

 


Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<