ユーザー管理システムが欲しい。ユーザーにパスワードの変更を許可しますが、制限が必要です。たとえば、新しいパスワードは、最後に使用された5つのパスワードのいずれでもありません。
最後の5つのパスワードのリストをどのように維持する必要がありますか?
ユーザー管理システムが欲しい。ユーザーにパスワードの変更を許可しますが、制限が必要です。たとえば、新しいパスワードは、最後に使用された5つのパスワードのいずれでもありません。
最後の5つのパスワードのリストをどのように維持する必要がありますか?
私はすでに上記のコメントを投稿しました。しかし、あなたの質問に答えるためだけに。、、を含むold_passwords
テーブルを作成する必要があります。user_id
old_password
creation_date
パスワードが最初に作成された日付をメインテーブルに保存します。パスワードを変更するときは、古いパスワードとその元の日付を表にコピーcreation_date
してold_passwords
ください。次に、パスワードを更新し、メインユーザーテーブルで日付をnowに設定します。
また、おそらく一意のインデックスをにドロップする必要がありますuser_id, creation_date
。
削除するには:
DELETE FROM old_password
WHERE user_id = ## AND creation_date NOT IN
(SELECT creation_date
FROM old_password
WHERE user_id = ##
ORDER BY creation_date DESC
LIMIT 5)
(このコードはところでテストする必要があります。)ユーザーがパスワードを更新したときにこのクエリを実行します。