テーブルから最新の履歴テーブルレコードを選択するための正しいSQLクエリを見つけようとしています(MySQLの場合)。履歴テーブルレコードの正しいSQLクエリを見つけることができません
私のアプリケーションでは、すべてのデータ変更の履歴を保存したいと考えています。だから、私の考えは、既存のレコードをUPDATEするのではなく、新しいレコードをINSERTすることです。さらに、改訂カウンタがあり、レコードの変更ごとに増加します。
uid rid created_by deleted revision username password admin 1 1 0 0 0 stefan abcdefg 1 2 2 1 0 0 maria bcdefgh 1 3 3 1 0 0 carl cdefghi 0 4 4 1 0 0 SUSANN ABC123 0 5 4 1 0 1 SUSANN 123ABC 0 6 4 1 0 2 SUSANN 123ABC 1 7 4 1 1 3 SUSANN 123ABC 1
注実際すなわち "SUSANN" の同じレコード、ある4〜7 UIDを持つ行:
は、これが私のテーブルです。行4は最初の行です。行5はパスワードを変更し、行6は管理フラグを変更し、行7は削除フラグを変更した。
uidは、自動インクリメンタであり、内部目的でテーブル内の行を識別します。 は、が実際のレコードIDです。
今すぐ。単一のレコードの最新のリビジョンを選択すると、この方法で行うことができます。
SELECT *を表 FROM WHEREリビジョンDESC私の問題は、すべての最新のリストを選択している1
LIMIT BY = 4 ORDER RIDすべてのログインのリビジョン:サンプルデータに基づいて、結果セットは次のようになります。
uid rid created_by deleted revision username password admin 1 1 0 0 0 stefan abcdefg 1 2 2 1 0 0 maria bcdefgh 1 3 3 1 0 0 carl cdefghi 0 7 4 1 1 3 SUSANN 123ABC 1
誰かが私を正しい方向に向けることができますか?私は適切なキーワードがすでに十分であると思う。そこから私はおそらく道を見つけ出すことができた。
ありがとうございました。
を。ラマクありがとうございます。 –