一本书如如何防止两个人买到
如下
表book (id,name,num)  num是库存量
比如 (1,"高级语言",1) 这么一本书,在某一时刻多人点击购买,之让其中一人买到,买到之后修改 库存量
用事务如何实现???刚接触php ,求其详!

解决方案 »

  1.   

    修改是根据查询的结构来执行的,
    我的理解是这样的
    A B 都查询了结构,B在执行修改,而A此时读取的数据和B修改后的数据是不一致的,导致 A 接着一样会去修改数据库不知道是否正确?
      

  2.   

    UPDATE  table SET num=0 WHERE num>0 AND id=888;
    如果库存已经为0,这样的话 你觉得他会修改么?
      

  3.   


    你是怎么思考的 用insert?
    Andyliu你还是去唱歌好点...
      

  4.   


    分开两个表事务开始
    update
    insert
    事务结束或者 在表上再增加一个字段记录 购买者 buyer 同时更新buyer 不就完了?
      

  5.   

    事实上我也是这么做的select * .... for update  //查看是否存在if (不存在)
       insert .....
       commit()else
      rollback()我测了几次是没问题,我就是想知道你们碰到这种情况也是这么做的?
      

  6.   

    set autocommit = 0 ,insert ,update commit