一般情况下都是判断
"select * from userTable where username='" + username + "'";
如果用户名不存在则执行
@"INSERT INTO [user].[dbo].[userTable]
([username]
,[password]
,[email])
VALUES
(
'{0}',
'{1}',
'{2}')";
如果并发高的情况下应该怎么处理,几个同时注册同一个用户名,判断是时候都是不存在,最后一起执行insert就会出现两个用户名相同的情况,请问应该怎么处理
"select * from userTable where username='" + username + "'";
如果用户名不存在则执行
@"INSERT INTO [user].[dbo].[userTable]
([username]
,[password]
,[email])
VALUES
(
'{0}',
'{1}',
'{2}')";
如果并发高的情况下应该怎么处理,几个同时注册同一个用户名,判断是时候都是不存在,最后一起执行insert就会出现两个用户名相同的情况,请问应该怎么处理
1、用户浏览器把js关了。
2、几个用户同时在注册页面,此时大家都ajax检查了用户了,然后一个用户先提交了,那AJAX检查就起不到作用了。
首先将用户名设置为不可重复的.
其次:
try{
//直接insert
}catch(...){}ok!
我觉得现在是有问题就得解决问题,而不是考虑这个问题发生的概率是多少。
做项目,我们就得考虑到最完美化。
楼上很多人都说了,可以在数据库中设置主键。或者用ajax验证判断。
我觉得现在是有问题就得解决问题,而不是考虑这个问题发生的概率是多少。
做项目,我们就得考虑到最完美化。
楼上很多人都说了,可以在数据库中设置主键。或者用ajax验证判断。