2016-07-06 3 views
2

У меня есть таблица с именем filesUploaded, с колонной называется dataTimer типа varchar.Удалить записи, где временные метки старше 5 минут

Когда я записать новое значение в моей таблице, я использую следующую команду, чтобы ввести текущую дату в формате временной метки:

strtotime(date("Y-m-d H:i:s"));//Example: 145879957 

Чтобы удалить записи, которые имеют более 5 минут в моей таблице я использую это синтаксис:

DELETE FROM filesUploaded WHERE dataTimer < (NOW() - INTERVAL 5 MINUTE) 

Но это не работает, что может случиться?

+1

Магазин свою ценность в качестве не типа даты, как VARCHAR – Jens

ответ

2

проблема заключается в том, что вы храните его в формате varchar.

вы должны преобразовать его в формат даты и вы можете удалить

DELETE FROM filesUploaded WHERE STR_TO_DATE(dataTimer,%Y-%m-%d %H:%M:%S) < (NOW() - INTERVAL 5 MINUTE) 
+1

Спасибо за ваш ответ он работал! – user3372120

Смежные вопросы