-2

私はしばらくの間 PHP を使用してきましたが、まだ正しく理解しようとしている部分の 1 つは時間です。

が 1 時間以上かどうかをチェックする簡単なスクリプトを作成しています。1timestamp時間以上の場合は、データベースから削除されます。

2013-01-03 20:30:25

DELETE FROM tablename WHERE timestamp = ?????

timestamp現在時刻から 1 時間以上の値を削除するクエリを実行する方法がわかりません。どんな助けでも大歓迎です。

4

2 に答える 2

5
DELETE FROM tablename WHERE `timestmap` < DATE_SUB(NOW(), INTERVAL 1 HOUR)

参照:-date_addおよびdate_sub

于 2013-01-03T09:37:05.173 に答える
0

まず2013-01-03 20:30:25、タイムスタンプではなく、フォーマットされた日付です。その日付のタイムスタンプは次のようになります1357245025。関数を使用してタイムスタンプに変換できstrtotimeます。strtotime("-1 hour")値を使用して比較を実行することにより、1時間前のタイムスタンプを計算することもできます。

ただし、MySQLクエリ内でこれらすべてを実行する方が高速な場合がありますが、MySQLは、提供されたものと同様のクエリを使用して、これを実行するためのクエリをAmit Garg提供します。

于 2013-01-03T09:37:43.347 に答える