2013-11-01 2 views
1

Я хочу удалить каждую строку из базы данных, где поле «Представление» не будет в будущем. Дата хранится таким образом:Удалить каждую запись из таблицы mysql, где поле даты НЕ является в будущем

09/10/2013

Таким образом, в этом примере я хочу, чтобы удалить эту запись, потому что его уже истек. Это где я нахожусь:

$wpdb->query("DELETE FROM `$table_name` WHERE `Submission` < NOW()"); 

Выглядит хорошо для меня, но этот запрос удаляет все из таблицы, а не только строки в прошлом.

+0

Использование str_to_date – Mihai

+0

Откуда вы знаете, что есть записи в будущем? –

+1

Сохраните ваши даты должным образом. – Strawberry

ответ

5

Эта дата недействительна для даты и времени. Это строка. Вы должны использовать STR_TO_DATE(), чтобы преобразовать его в дату, прежде чем делать математическую дату на нем.

DELETE FROM `$table_name` WHERE STR_TO_DATE(`Submission`, '%m/%d/%Y') < NOW() 
+0

Может быть месяц месяц – Mihai

+1

Это правда. Но это должно указывать на них в правильном направлении. –

+0

Да, это была простая строка, теперь она работает как шарм! – passatgt