MySQL получает данные старше 30 минут и выполняет некоторые задачи

Я пытаюсь создать систему купонов, но я кое-что застрял. Я хочу сделать функцию, которая получает все данные из coupon_session, где время (datetime) старше 30 минут. Для каждого из результатов я хочу получить «код» из строки, а после этого я хочу удалить строку.

Я уже выяснил, как получить данные, но остальное мне довольно сложно. Не могли бы вы, ребята, немного помочь?

Это мой код для извлечения всех> 30 мин старых строк:

mysql_query("GET * FROM `coupon_session` WHERE TIMESTAMPDIFF(MINUTE,time,NOW()) > 30");

-3

Решение

Код для получения того, что вы хотите:

select cs.code
from coupon_session cs
where time < date_sub(now(), interval 30 minute);

Удаление является еще одной проблемой, потому что значение now() изменения. У вас есть несколько вариантов, таких как:

  • Получите список идентификаторов для удаления в вашем приложении и удалите их (вероятно, самый безопасный метод).
  • Рассчитайте «сейчас» в вашем приложении и используйте то же значение для select а также delete (также безопасно).
  • Рассчитайте максимальное время, возвращаемое select и использовать это для последующего удаления.
0

Другие решения

Других решений пока нет …