网页同时插入

时间:2010-12-09 14:19:18

标签: mysql asp-classic

我们开发了一个在线测验,用户可以注册团队参加测验。

在asp中检查是否已提交该teamname,如果已提交,则会生成错误。

我们注意到如果两个团队在同一时间以相同名称注册,两个团队都已注册,则会出现问题。虽然这种可能性很小,但我们想知道应该用什么方法来解决这个问题。

如果有任何不同,我们使用mySql作为数据库。

感谢任何指导。

3 个答案:

答案 0 :(得分:1)

不要担心这种情况永远不会发生。

数据库足够智能并处理并发问题。

如果您在数据库上运行查询以同时注册团队和另一个团队注册,则在数据库级别第一个查询(当它发送到数据库时)成功,第二个查询失败并出现错误,您应该注意。如果注册需要的操作不仅仅是对表的简单插入,那么您应该在查询/存储过程中使用事务对象。

答案 1 :(得分:1)

您可以将name列设置为唯一,并且数据库将在第二个插入上引发错误。如果你想在代码中这样做,那将会更复杂。

答案 2 :(得分:0)

不确定两个团队如何在同一时间注册 - 即使请求同时提交(低至纳秒),您的事务语义仍应保证其中一个从数据库的角度来看是“第一”