Chronology は正確には PDO の機能ではありません。さらに言えば、使用しているデータベース ドライバーが何であれ、それはスキーマの問題です。
通常、データベース構造で一般的に使用されるフィールドは、データベースでレコードが作成された時刻を保持する「タイムスタンプ」または「作成済み」フィールドです。これらのフィールドは、MySQL データ型TIMESTAMP
(この場合、ドライバーは Unix エポックからの秒数を返します)、またはDATETIME
(この場合、ほとんどのドライバーは言語のネイティブ DateTime オブジェクトが存在する場合はそれを返そうとします) です。タイムスタンプ フィールドは、サーバーでレコードが作成された正確な時刻を記録し、変更時に を使用して更新できますON UPDATE CURRENT_TIMESTAMP
。したがって、これをスキーマに追加することをお勧めします。
データベースにそのようなフィールドがある場合、次を使用してクエリをいつでも並べ替えることができます。
SORT BY timestamp_field_name ASC
また、「配布」によって、このキーを何らかのクエリパラメーターとして使用することで一部のデータが公開されることを意味する場合、特にこれが「ライセンス」である場合、説明した正確な理由で単調な主キーを使用しませんこれは、DRM タイプのものを意味する場合、おそらく複雑な文字列を生成するはずです。フィールド内のハッシュされたタイムスタンプUNIQUE
、または php関数は、キー制限を使用してデータベース フィールドuniqid
に格納できる値を生成できます。これは、あなたが説明した目標を理解した場合です。VARCHAR
UNIQUE