mysql - 使用用户名或电子邮件登录-MySQL

标签 mysql login indexing unique username

我打算让用户使用其电子邮件地址或用户名登录,但我想知道如何在MySQL中正确执行此操作。

我目前正在验证用户名和电子邮件字段(PHP),以确保它们尚未在数据库中。这些查询发生在将要添加用户的实际插入查询之前。我想象添加一个唯一索引对于使用单个身份登录的系统来说足够了-但是在这种情况下,两个字段需要唯一性又如何呢?为每列添加唯一索引是否足够?

此外,使用此方法可能会遇到任何问题吗?

提前致谢。

最佳答案

我不会依赖索引-最好先在数据库中针对这两个值中的每一个进行搜索。唯一索引也值得添加,但是捕获这些事件绝不值得依靠。

在我进行登录的网站上,如果用户名带有@符号,我认为它是一封电子邮件,并查找相应的用户名(我需要用,因为密码在该系统中以用户名的形式散列为盐)。

关于mysql - 使用用户名或电子邮件登录-MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5068918/

相关文章:

sql - Oracle 数字字符串列和索引

MySQL 语法错误(连接表)

mysql - 匹配 where 语句中 n 个条件中的 x

mysql - 在 Restful Web 服务中使用 Hibernate 的 SQL 查询

sockets - Web套接字: Is it bad to always use SSL when making an online game?

android - 当我从 Playstore 下载时,Google+ 登录在我的 android 应用程序中不起作用

login - Yii2如何更改当前用户

java - 在 Openshift 上将 Tomcat 链接到 MYSQL

mysql将索引压入内存

mysql - 用于搜索的 SQL 索引