我认为这么快的判断用户名重复是通过设置用户名字段UNIQUE
,然后写入捕获异常来实现的。
但我尝试了一下,发现实际操作起来并没有那么简单,如果要求用户名唯一就去写表看异常,如果重复了可以返回false,但成功的话写入的数据是不完整的,我们真正需要的是将用户提交的注册信息一起写表,我想了一下,这个操作只能通过事务来实现了,通过事务只要不commit,就不会真正的写表,但我们已经得知了表中的这条数据是否冲突,不知我的理解对不对。或者是通过其他的方式来实现的。通过select
查询判断对于大量数据来说不合适吧?
一般不是前端输入完后ajax会去做查询的么?提交的时候插库前再查一遍,做个unique保险一点。