zoukankan      html  css  js  c++  java
  • MySQL事物控制

    • 有时候我们需要保证事物的各个步骤都执行成功的前提下才能让每一步骤的事物执行,此时就需要事物控制。
    • 事物控制用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败。比如:网上转账系统就是典型的例子,转入与转出要保证同时进行。
    • 事物控制用于控制事物的执行

    <?php
    header("Content-type:text/html;charset:utf-8");
    $mysqli=new mysqli("localhost", "root", "root", "test306");
    if ($mysqli->connect_error){
    die("连接失败".$mysqli->connect_error);
    }

    $mysqli->autocommit(false); //关闭本次数据库连接的自动命令提交事务模式
    $sql1="update account set account=account+10 where id=1;";
    $sql2="update account set account=account-10 where id=3;";

    $res1=$mysqli->query($sql1);
    $res2=$mysqli->query($sql2);

    if ($res1 && $res2){
    $mysqli->commit(); //两项均执行成功了就提交 mysqli_commit — 提交一个事务
    echo "转账成功!";
    }else {
    echo $mysqli->rollback(); //回滚,mysqli_rollback — 回退当前事务
    echo "转账失败!";
    }
    ?>

    数据库:

    create database dd;

    use dd;

    create table account(

    id int primary key,

    balance float,

    )

  • 相关阅读:
    类的专有方法(__getitem__和__setitem__)
    类的专有方法(__len__)
    demo02
    python之函数用法__str__()
    repr
    类的专有方法(__repr__)
    类的专有方法(__del__)
    类的专有方法(__init__)
    静态方法
    Golang接口简单了解
  • 原文地址:https://www.cnblogs.com/imysql/p/5247661.html
Copyright © 2011-2022 走看看