mysql事务处理

mysql事务处理

PHP事务处理

//PHP事务处理
$sqli=new mysqli("localhost","root","123456","worddb");
if($sqli->connect_error){
die("数据库连接失败".$sqli->connect_error);
}
//首先将提交设为false,当都成功了之后再去提交他
//事务一旦提交之后就不能回滚了
$sqli->autocommit(false);
$sql1="update balance set balance=balance-2 where id=1";
//balance2表是不存在的
$sql2="update balance2 set balance=balance+2 where id=2";
$b1=$sqli->query($sql1);
$b2=$sqli->query($sql2);
if(!$b1||!$b2){
//回滚
echo "失败,回滚";
$sqli->rollback();
}
else {
//提交
//一旦提交之后,就没有机会回滚了。
$sqli->commit();
}

?>


在Mysql控制台使用事务来操作。

1,开始一个事务
start transaction
2, 做保存点
save point 保存点名称
3, 操作
4,可以回滚,可以提交
   没有问题,就提交
   有问题就回滚



事务特性

mysql事务处理

你可能感兴趣的:(php)