1

パスワード回復スクリプトをコーディングしています。ユーザーが自分のパスワードを回復したい場合、50文字列のランダムな検証コードがデータベースに書き込まれ、$_GET検証に使用されます。

このテーブルrecoveryvar(50)とと呼ばれuniqueます。リンクを受け入れると、このフィールドは消去されます。しかし、ユーザーがリンクをクリックしない場合はどうなるでしょうか。このランダムな50文字列が作成される可能性が高くなり、データベースが不要なデータを取得するため、これをデータベースから削除する必要があります。

私は周りを見回してこれを見てきました:

INSERT INTO what_ever ('', '', now(), DATE_ADD(NOW(), INTERVAL 3 DAY));

この方法で有効期限を入力しますが、MYSQLは適切なタイミングでこれを自分で削除するにはどうすればよいですか?それも可能ですか?

そうでない場合、ここでの私の最善の選択肢は何ですか?

編集:

もちろん3日は長すぎます。15分くらい考えていました。

4

2 に答える 2

3

新しい行を挿入するときに古いデータを削除するトリガーを作成できます。

トリガーの書き方がわからない場合は、HeidiSQLなどの高度なMySQLクライアントを使用すると、GUIが役立ちます。

于 2012-11-29T10:20:11.340 に答える
2

データベースへの挿入時にトリガーを設定して、特定の量より古いレコードを削除することができます。

于 2012-11-29T10:19:57.267 に答える