Измените значение поля sql, когда время достигнет указанной даты - PullRequest
0 голосов
/ 10 июля 2020

У меня есть веб-сайт, на котором вы можете зарегистрироваться.

Зарегистрированный аккаунт по умолчанию имеет статус «Ожидание», затем администратор веб-сайта может изменить этот статус на «admin» - «user» - «ожидание»

Дата истечения срока действия также сохраняется в базе данных

Я хочу, чтобы по достижении даты истечения срока действия автоматически изменился статус этого пользователя на «Ожидание»

Понятия не имею, как это сделать, спасибо за любую помощь!

Пример:

Если мы достигнем 2020 - 07 - 10, user4 (и также "test" и "testt") статус должен измениться на "Attente" (означает Stand by)

Моя база данных:

База данных

1 Ответ

0 голосов
/ 10 июля 2020

Я рекомендую использовать представление:

create view v_t as
    select . . .,
           (case when now() >= expiring_date then 'Stand by' else status end) as status
    from t;

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

Затем, на досуге, вы можете go обновить статусы в данных с помощью задания.

При таком подходе ваши приложения гарантированно увидят правильный статус.

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