文章详情页
使用PHP和MySQL的UNIQUE如何像京东注册那样保证用户名唯一?
问题描述
我认为这么快的判断用户名重复是通过设置用户名字段UNIQUE,然后写入捕获异常来实现的。但我尝试了一下,发现实际操作起来并没有那么简单,如果要求用户名唯一就去写表看异常,如果重复了可以返回false,但成功的话写入的数据是不完整的,我们真正需要的是将用户提交的注册信息一起写表,我想了一下,这个操作只能通过事务来实现了,通过事务只要不commit,就不会真正的写表,但我们已经得知了表中的这条数据是否冲突,不知我的理解对不对。或者是通过其他的方式来实现的。通过select查询判断对于大量数据来说不合适吧?
问题解答
回答1:一般不是前端输入完后ajax会去做查询的么?提交的时候插库前再查一遍,做个unique保险一点。
回答2:根据用户输入的名字到数据库查一下就ok了,有结果就提示已占用,没有结果才能用,如果录入其他信息期间被人先行提交占用再提示被占用就ok了,提示话术斟酌一下即可,这样的概率很低并且也可以接受
回答3:到数据库查吧
标签:
京东
相关文章:
1. docker不显示端口映射呢?2. golang - 用IDE看docker源码时的小问题3. nignx - docker内nginx 80端口被占用4. docker - 如何修改运行中容器的配置5. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?6. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下7. 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败!8. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””9. 网页爬虫 - python爬虫翻页问题,请问各位大神我这段代码怎样翻页,还有价格要登陆后才能看到,应该怎么解决10. python在list相加 求助
排行榜