Php 自动删除mysql中的行?

Php 自动删除mysql中的行?,php,mysql,sql,database,cron,Php,Mysql,Sql,Database,Cron,我有一个网站,用户可以选择自己的用户名,但只能使用3天。因此,三天后,用户名可供其他人选择。我设置了我的mysql表,以便在有人选择用户名时插入一行,其中包含用户名和创建日期。处理我的目标的最佳方式是什么?我是否应该在Mysql中3天后自动删除该行(使用Cron?),或者是否可以通过其他方式实现我的目标?您可以使用Cron,但如果有人选择了已使用的名称并且该名称超过3天,则只需删除或更新这些行,就可以节省一些服务器时间 用户注册,选择用户名 检查用户名是否已被使用,如果未按常规进行 如果使用用户

我有一个网站,用户可以选择自己的用户名,但只能使用3天。因此,三天后,用户名可供其他人选择。我设置了我的mysql表,以便在有人选择用户名时插入一行,其中包含用户名和创建日期。处理我的目标的最佳方式是什么?我是否应该在Mysql中3天后自动删除该行(使用Cron?),或者是否可以通过其他方式实现我的目标?

您可以使用Cron,但如果有人选择了已使用的名称并且该名称超过3天,则只需删除或更新这些行,就可以节省一些服务器时间

  • 用户注册,选择用户名
  • 检查用户名是否已被使用,如果未按常规进行
  • 如果使用用户名,请检查用户名是否超过3天
  • 如果用户名超过三天,请更新或删除它并创建一个新用户名

  • 如果使用此方法,则必须在登录脚本中使用类似的方法,以防止过期用户名登录。

    每天运行cron作业以删除3天以上的帐户。或者,如果创建用户名的时间戳为,在检查用户名是否允许时,您可以只检查用户名是否为3天或更久。这意味着禁用用户名列的
    UNIQUE
    索引,如果您正在使用该索引。。。我建议删除它,信息就是力量:PIs使用cron是在生产站点上实现这一点最有效(也是最快)的方法吗?特别是在托管网站上。我不考虑CRON作业或事件,您可以简单地基于SQL中创建的日期无效用户名。因此,任何登录的人都可以从username=:username和created_date>-3天的用户中选择*查询。这种方法将意味着您的表有许多记录,但您可以在每周或周一等日程上删除旧记录,而不是每天删除。