Mysql基本用法-存储引擎-04
MYSQL中只有 INNODB和BDB 类型的数据表才能支持事务处理!其他的类型是不支持的!(切记!)
Mysql基本用法-存储引擎-02中的test_user表 和 phpcvs表
<?php echo "transaction<br>"; $conn = mysql_connect("localhost","root",""); if(!$conn){ die(mysql_error()); } mysql_select_db("test"); $sql = "update phpcvs set name='fff04' where id=3"; $sql2 = "update phpcvs set name='abcd' where id=2"; $sqlArr = array($sql,$sql2); //把sql放在数组中 //var_dump($sqlArr); mysql_query("SET AUTOCOMMIT=0"); mysql_query("begin"); //事务开始 foreach ($sqlArr as $key => $value) { //遍历sql # code... if(!mysql_query($value)){ //执行sql,在没有全部执行的时候。 $status = 0; //设定一个状态值 }else{ $status = 1; } } //echo $status; if($status==0){ //$status==0时,没有全部执行sql echo "rollback<br>"; mysql_query("rollback"); //事务回滚 }else{ mysql_query("commit"); } ?>