Удалить данные из таблицы через определенный промежуток времени. скажем (60 минут) - PullRequest
1 голос
/ 12 января 2010

Я хочу удалить данные из таблицы по истечении определенного промежутка времени и заполнить их значением NULL. Я в основном хочу, чтобы эти данные истекли через определенный промежуток времени. Есть ли способ сделать это с помощью Php. База данных находится в Mysql. Благодарю.

Ответы [ 4 ]

2 голосов
/ 12 января 2010

Вы ищете какой-нибудь кронхоб для запуска каждую минуту.

Почему вы хотите заполнить null значения? Было бы лучше иметь поле smallint(1), заполненное 1, если строка удалена. Таким образом, вы всегда сможете восстановить «удаленные» данные, если это необходимо.

0 голосов
/ 24 мая 2013

Почему бы вам не попробовать добавить еще один столбец с надписью

EXPIRY_TIME

(здесь вы добавляете 60 минут к дате создания)

А когда вы проверяете срок действия, проверьте по этому столбцу

Я не знаю о вашей конкретной проблеме, но это может пригодиться

0 голосов
/ 24 мая 2013

Вы можете сделать это, используя Event Scheduler .

Запрос может быть примерно таким:

UPDATE `your_table` SET `your_table_column` = NULL WHERE 1
0 голосов
/ 12 января 2010

Используйте поле TIMESTAMP DEFAULT CURRENT_TIMESTAMP для отслеживания возраста записи и задание cron для удаления старых записей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...