0

「閲覧済み」列の日時値が 24 時間より古いデータ行を削除するために使用したいクエリがあります。1 つのクエリでこれを行うにはどうすればよいですか? 出来ますか?

これが私がこれまでに持っているものです:

$delete_expired_notifications_query= "DELETE FROM notifications WHERE user_id= 
'".$u_id."' AND viewed (some code that says older than 24hrs)";
    mysqli_query($connect, $delete_expired_notifications_query);
4

3 に答える 3

3

viewedそれがMySQLの一時的なタイプであると仮定します(そうあるべきです):

... AND viewed < NOW() - INTERVAL 24 HOUR
于 2013-01-19T16:26:24.073 に答える
2

date_Addとinterval を使用すると、今から 24 時間以上前のレコードに対してこれを試すことができます..

DELETE FROM notifications WHERE user_id= 
'".$u_id."' AND viewed < date_Add(now(), interval - 24 hour)
于 2013-01-19T16:27:22.967 に答える
1
DELETE FROM notifications WHERE user_id = '".$u_id."' 
      AND viewed < DATE_ADD(NOW(), INTERVAL -1 DAY)";

また

DELETE FROM notifications WHERE user_id = '".$u_id."' 
      AND viewed < DATE_ADD(NOW(), INTERVAL -24 HOUR)";
于 2013-01-19T17:03:28.907 に答える