Ben bir datetime alan üzerinde 2 hafta eski satırları silmeniz gerekir.
Bu ne ile geldi budur
$duration = Date::WEEK * 2; // int(1209600)
$query = 'DELETE FROM properties
WHERE TIMEDIFF(' . date(DATE_ISO8601) . ', reserved_datetime) > ' . $duration;
Ben sık sık (ben daha rahatım PHP, içinde bir şeyler yapmak için tercih) karmaşık sorguları yazmak istemiyorum ama ben onlar hakkında daha fazla bilmek istiyorum, artı PHP bu tür bir şey yapmak çok verimsiz olacağını ve taşıma am satırları daha büyük bir miktar.
Herkes yanlış ne yapıyorum biliyor musun? Şerefe.
Update
Ben sadece bu yüzden neler olduğunu görebiliyordu SELECT phpMyAdmin hafifçe değiştirerek, Wallyk's answer bir vuruş verdi.
Bu benim kullanılan budur
SELECT *
FROM properties
WHERE date_sub( `reserved_datetime` , INTERVAL 2 week ) >0
LIMIT 0 , 30
Tek sorun, ancak bu satırları döndü nerede olduğunu reserved_datetime
(şimdi) kesinlikle en az 2 hafta önce, 2010-02-28 10:45:59
olduğunu.
Ben MySQL iç tarihini kontrol düşündüm. Ben MySQL en NOW()
tam olarak doğru değil, çünkü benim sorguları date(DATE_ISO8601)
kullanılarak (ilgilenen olmadığını sadece iade 2010-02-28 20:09:19
). Edilmiştir
Bu sorguda geçerli tarihi belirtmek için bir yolu var mı? Başka bir öneriniz?
Çok teşekkürler
Another Update
İşte benim sözlerim can daha iyi bir şey gösterebilir phpMyAdmin bir ekran görüntüsü. Tüm diğerleri boş değerlere sahip, çünkü Oh, ve 3. döndü nedeni sadece, yani 0000-00-00 00:00:00