Home >Database >Mysql Tutorial >mysql之事务_MySQL

mysql之事务_MySQL

WBOY
WBOYOriginal
2016-06-01 13:30:331013browse

bitsCN.com

mysql之事务

 

事务处理

begin        开始一个事物

 

commit        事务确认

rollback    事务回滚

 

end        事务结束

innodb下可以实现事务

 

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

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

 

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

 

例:

<?php    $conn = mysql_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;&#39;) or die ("数据连接错误!!!");    mysql_select_db(&#39;shop&#39;,$conn);    mysql_query("set names &#39;utf8&#39;"); //使用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 &#39;提交成功。&#39;;    }else{    mysql_query("ROLLBACK");    echo &#39;数据回滚。&#39;;    }    mysql_query("END"); ?>

 


bitsCN.com
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn