Mysql引擎概念,小贝_mysql 存储引擎及事宜概念

例如:

用户A给用户B转账500元

先分析下这个流程:

1、判断用户A的卡余额是否大于500元,否则,则无法进行转账操作

2、在满足大于500元的基础上,用户A给用户B进行转账

3、转账操作成功,则用户A的卡余额减去500元,用户B加上500元

用程序描述下这个过程

<?php 

$userA = $momeyA;

$userB = $momeyB;

if( $moneyA < 500 )

{

return false;

}

$sqlA = "update user set money=money-500 where name='userA'"; //步骤A

$resultA = $db->query($sqlA);

if( $resultA )

{

$sqlB = "update user set money=money+500 where name='userB'";//步骤B

$resultB = $db->query($sqlB);

if( $resultB )

{

return true;

}else

{

$sqlA = "update user set money=money+500 where name='userA'";//步骤C

$resultA = $db->query($sqlA);

return false;

}

}

$sqlA = "update user set money=money+500 where name='userA'";//步骤D

$resultA = $db->query($sqlA);

return false;

?>

从事务的角度看:

1、在转账过程中,出现有误,则该错误对双方而言,是没有影响的。即不可能因为某个错误,导致用户A白白减少500,而用户B莫名其妙多了500

2、在转账过程中,用户A是不可能看到自己的卡余额减下500,而用户B也是无法看到自己增加500元,因为转账操作还未结束。

3、单单从这个过程,用户A与用户B的总金额是不变的。只不过是一方减少,另一方增加

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值