mysql - 如何处理未激活的数据库记录或如何防止它

标签 mysql web

我们有一个用户表来记录所有在我们网站上注册的用户, 但有些人可能不会激活它

我们现在的做法是一旦用户注册,就会在我们的表中存储一条记录,一旦用户点击激活链接,激活码就会变为''(空)

如果记录没有激活,邮箱就不能用,会一直在我们的表里

user
id | email       | activation code
1  | abc@abc.com |asdasdasdadadsasda
2  | cde@abc.com |

最佳实践或解决方案是什么?

创建一个新表来存储所有激活码,并且只在用户激活后插入到用户表中?

还是就这样离开?但是存放起来有点浪费

或者对此有更好的解决方案吗?

最佳答案

我以前是这样做的:

  • 包含临时帐户(尚未激活)的临时表
  • 包含帐户(已激活)的表格

因此,您可以在主账户表中腾出一些空间,您还可以添加一个任务(例如,每周)来删除旧的临时账户。

当用户激活他的帐户时,您将其数据从临时表移至主表。

关于mysql - 如何处理未激活的数据库记录或如何防止它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24433086/

相关文章:

mysql - 找不到程序失败的地方

mysql - 无法添加或更新子行 : a foreign key constraint fails

php - 如何在 laravel 中设置 withCount 条件

linux - 如何让 DNS 可供公众访问

javascript - Metro 菜单 HTML/CSS/Jquery

mysql - Django 管理员在保存字段时没有默认值

mysql - 如何从表中为某些行选择具有相同值的行?

java - 在 Java 中从 Internet 获取数据

php - 适用于 Raspberry Pi 的最佳轻型服务器(Linux + Web 服务器 + 数据库)

asp.net - Google Chrome 的消息 "A data breach on a site or app exposed your password"是否表明我的网页存在漏洞?