我有一个Flash游戏;一个用户有很多物品;每个项目都是数据库表中的一行,其中包含列:
id - user_id - item_type_id - quantity
每次用户获得一个项目时,我都会在数据库上执行选择以检查用户是否已经拥有该项目类型的行。如果不存在,则插入,否则增加数量并提交;一切总是在一个事务中。
有时,当游戏流量大时,会出现重复的项目行。现在,我执行选择以检查重复行以合并数量并删除重复行。
- 这个问题是怎么发生的?
- 我怎样才能防止问题发生?
我正在使用 MySQL。