php与mysql原子操作

 很久都没有写一下学习日志了,都不知道最近在忙什么,突然觉得自己应该写点什么上去.

    数据库的原子操作是两三个月前学的东西了,今天突然又用到了,因此今天必须得将其记录下来,否则下次又要重新搜索了.

    原子操作常用的方法就是通过数据回滚来实现,用 PHP 来实现数据库回滚操作相当简单:

    1, 建立数据库连接
    2, mysql_query('BEGIN');    开启事务
    3, $SQL = "...";      
       mysql_query($SQL);    做相应的数据库操作
    4, 判断回滚条件:
       if(mysql_errno)   
       {  
            print    mysql_error();  
            mysql_query('ROLLBACK');      出错就回滚 
            exit();   
       }  
    5, ...  可以重复上述步骤 3 及步骤 4 的操作, 开始的过程(中间可以加入其他操作,不局限于数据库更新,但是注意,最好不要让一个事务时间过长,因为它锁定所有你用到的表,会影响其他程序使用)  
      你也可以在几条正确的sql更新语句后故意写一句错误的,看看是否回滚了。
    6, 结束回滚操作
       mysql_query('COMMIT');    能够到这里,代表上述数据库操作都没有错,正式提交执行  

    这就是用 PHP 实现原子操作的整个过程,需要特别注意的是建立支持数据回滚操作的表结构,另外,除 commit 外也有其它办法可以结束回滚操作,但我就不得而知了.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值