当前位置:Gxlcms > PHP教程 > 系统允许手机和邮箱注册,如何保证唯一性

系统允许手机和邮箱注册,如何保证唯一性

时间:2021-07-01 10:21:17 帮助过:9人阅读

如果只有手机注册,只要给手机做唯一索引即可,但是如果邮箱也可以注册,那进来的就不一定是手机了,也就是说mobile和email两个都不能设唯一索引,因为如果两个手机用户注册进来了,就会有两个email为空的记录,存在不唯一的情况,反之亦然。怎么处理?

回复内容:

如果只有手机注册,只要给手机做唯一索引即可,但是如果邮箱也可以注册,那进来的就不一定是手机了,也就是说mobile和email两个都不能设唯一索引,因为如果两个手机用户注册进来了,就会有两个email为空的记录,存在不唯一的情况,反之亦然。怎么处理?

我感觉有两种解决方案:
1、email和mobile设为同一个字段。
2、email和mobile同时设为unique,但是允许null,当同为null时是可以插入成功的

手机+邮箱做唯一索引呢

楼上两个字段同时判断应该可行。
但一定要用这两个字段作唯一索引吗?另增一个字段,添加记录时添入唯一索引值不知可以不?

你把手机和邮箱设置为联合唯一索引。
UNIQUE INDEX table('mobilePhone','email)

这个很简单呀,选择邮箱注册则邮箱是唯一标识(用于登录),可以绑定多个手机。如果是手机注册,手机是唯一标识,理论上也可以绑定多个邮箱(但实际大多数禁止多个)。这种状态就可以通过手机和邮箱注册两个互不影响登录的账号。所以唯一性是必须的,但是不同类型的账号是可以存在你所谓的不唯一!好好理解下吧!

可以使用一个无意义的唯一数作为用户的索引,然后注册时判断使用的手机或邮箱是否已经注册过。如果没有注册过就生成一个新的唯一数作为这个新注册用户的索引。

邮箱和手机的唯一性通过注册时的判断来保证。

但是日后如果用户补充注册时未填写的手机或邮箱时,就需要考虑是否仍要保证唯一性了。

人气教程排行