gpt4 book ai didi

mysql - 独特的电子邮件查找方法

转载 作者:行者123 更新时间:2023-11-29 08:47:36 24 4
gpt4 key购买 nike

解决方案!我按照@pilcrow的建议做了。查找 mysql_error_num:1062 (唯一的电子邮件),如果是,则返回错误。

描述:

我正在构建一个应用程序,需要许多不同的用户和可能的公司通过注册表进行注册。我想确保个人输入的电子邮件是唯一的,因为公司可能会向许多用户发出通用的 info@company.com 电子邮件。

我希望能够检查数据库以查看电子邮件是否存在。

问题:

我已经知道如何通过 JavascriptajaxPHP 来完成此任务,但我担心如果我有很多(数千个)用户,查询将永远持续下去。特别是如果我决定在表单上使用 keypress 事件而不是 blur 事件。我可能是错的,但我看不出一个简单的 WHERE email = $email 具有很强的可扩展性。

问题

有没有办法可以设置我的代码或数据库(mysql)来加速查询?我正在考虑为电子邮件设置一个单独的表,但认为这行不通。

谢谢!

p.s. 我对数据库/服务器技术非常了解,所以 PHP+MYSQL 就是这样。

最佳答案

你问

Is there a way I can set up my code or the database (mysql) to speed up the query?

是的,完全省略查询。

对后端数据库中存储的电子邮件地址设置唯一约束,然后准备捕获 ER_DUP_UNIQUE当由于电子邮件地址重复而插入新帐户失败时。

该方法可以防止重复,并在选择重复项时警告新用户。

我非常怀疑您是否需要在键入电子邮件地址时查找它们(“...如果我决定使用 keypress 事件...”)。如果您确实想在 INSERTing 之前检查该地址是否存在,您还需要一个事务来防止 TOCTOU欢闹。但是,由于 UNIQUE 约束是最简单但最有效的防止重复的方法,因此只需实现它即可。

关于mysql - 独特的电子邮件查找方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12163746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com