У меня есть таблица вроде этого:Как удалить все истекшие строки старше одного года?
// cookies
+---------+-------------------------+------------------+------------+
| id | email | cookie | date_time |
+---------+-------------------------+------------------+------------+
| int(11) | varchar(50) | varchar(128) | int(11) |
+---------+-------------------------+------------------+------------+
| 1 | [email protected] | ojer0f934mf2... | 1467204523 |
| 2 | [email protected] | ko4398f43043... | 1467205521 |
| 3 | [email protected] | 34fjkg3j438t... | 1467205601 |
| 4 | [email protected] | 0243hfd348i4... | 1467206039 |
+---------+-------------------------+------------------+------------+
Я пытаюсь удалить все строки, которые истекли. expired означает все старые строки. старые строки означают каждую строку, которая старше одного года.
DELETE FROM cookies WHERE date_time < unix_timestamp() - (60 * 60 * 24 * 365)
Но мой запрос кажется мне не нормальным. Есть ли лучший способ сделать это?
'позапрошлом year' означает' дата_время
, прежде чем в прошлом году означает старше чем один год или созданный в течение прошлого года –
@ Lashane Знаете, я не очень хорошо знаю английский, поэтому, возможно, «до прошлого года» не верен. Строка действительна только один год. Поэтому я хочу удалить все строки, которые имеют меньше «date_time», чем год. –