2014-05-30 3 views
-1

У меня есть сайт, на котором пользователи могут выбирать свое имя пользователя - но только на 3 дня. Поэтому через три дня имя пользователя доступно для кого-то другого. Я настроил свою таблицу mysql так, чтобы она вставляла строку с именем пользователя вместе с датой, когда она была создана, когда кто-то выбирает свое имя пользователя. Каков наилучший способ справиться с моей задачей? Должен ли я автоматически удалить эту строку через 3 дня в Mysql (используя Cron?) Или можно ли достичь моей цели другим способом?Автоматически удалять строки в mysql?

+2

запустить хрон каждый день, чтобы удалить учетные записи старше 3-х дней. –

+2

Или используйте http://dev.mysql.com/doc/refman/5.1/en/create-event.html – Mihai

+0

Если у вас есть отметка времени, когда вы создали имя пользователя, вы можете просто проверить, является ли имя пользователя 3 дня или старше, если вы проверяете, разрешено ли имя пользователя. Это означает, что вы отключите индекс UNIQUE для столбца имени пользователя, если вы используете это ... Я бы рекомендовал это для удаления, информация имеет силу: P – Populus

ответ

1

Вы можете использовать cron, но вы можете сэкономить некоторое время сервера, просто удалив или обновив строки, когда и если кто-то выберет имя, которое было принято, а имя старше 3 дней.

  1. признаки пользователя вверх, выбирает имя пользователя
  2. Проверьте, чтобы увидеть, если имя пользователя принимается, если не продолжать как обычно
  3. Если имя пользователя принимается, проверьте, чтобы увидеть, если он старше 3-х дней
  4. Если имя пользователя старше трех дней, либо обновите его, либо удалите, и создайте новый.

Если вы используете этот метод, вы должны будете использовать подобный метод в сценарии входа в систему, чтобы предотвратить истекшие имена пользователей вход в систему.

Смежные вопросы