重複の可能性:
MySQL テーブル行の時刻と日付のスタンプ
INSERT ステートメントが実行された日時を保存する最良の方法は何ですか? クエリに Now() 関数を含めますか? それができたら、72時間が経過したかどうかを計算することはできますか?
重複の可能性:
MySQL テーブル行の時刻と日付のスタンプ
INSERT ステートメントが実行された日時を保存する最良の方法は何ですか? クエリに Now() 関数を含めますか? それができたら、72時間が経過したかどうかを計算することはできますか?
CURRENT_TIMESTAMPの列のデフォルト値で datetime 属性を定義する場合、明示的な値を指定する必要はありません。タイプをTIMESTAMPとして定義すると、特に動作をオーバーライドしない限り、レコードが変更されるたびに現在の時刻に更新されます。
72時間が経過したかどうかを計算することはできますか?
はい - ただし、すべての静的計算を比較操作の片側に置くようにしてください。
SELECT *
FROM yourtable
WHERE NOW() - INTERVAL 72 HOURS > yourtable.created_time;
よりも速くなります....
SELECT *
FROM yourtable
WHERE NOW()> yourtable.created_time + INTERVAL 72 HOURS;
作成時間のインデックスがなくても。作成時間にインデックスがある場合、最初のクエリはそれを使用しませんが、2 番目のクエリははるかに高速になります。