我的mysql有这样一张表,用户填一个用户名就可以得到一个抽奖号码,但抽奖号码是随着这次活动参加的人数决定的,比如这个项目的第一个人填了,就是第一个号码,第二个人参加了就得到第二个号码以此类推。
但现在有这样一个问题如果几个人同时参加会不会就得到同一个号码了呢,这个是不允许的,这样一个并发如何控制,最好写下代码,十分感谢!

解决方案 »

  1.   

    如果你的抽奖号码是按照1,2,3,4的顺序排的话,那你只要在数据库里建一个表里面两个字段id和username,id是你的抽奖号码,username是你的用户名,id 自增就可以了,你插入记录后获得这个id就行,mysql会帮你解决同步问题
      

  2.   

    这个你要说清楚啊,“重新开”是从几开始啊?要想构造算法,首先要把需求搞清楚。
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)[/size]
      

  3.   

    事务,事务!...
    还有一个办法是(项目,抽奖号码)上建唯一索引  (根据你的说法,不同项目会有同样的号码)
    insert的时候如果用重复就会失败,
    如果失败就重新生成号码
      

  4.   

    这么复杂干吗~保证唯一不就行了~~
    uniqid();