Удалить вставленную запись MySQL через определенное количество секунд - PullRequest
0 голосов
/ 22 октября 2018

У меня есть таблица MySQL с именем products_reservations, куда я вставляю данные, когда пользователь нажимает кнопку, чтобы положить что-то на свою карточку покупок.Эти продукты должны быть зарезервированы на определенное количество времени.В таблице есть столбец с именем timestamp, в котором точные дата и время в формате 2018-10-22 21:29:16 сохраняются после нажатия кнопки для резервирования.Теперь я хочу установить интервал для удаления записи в таблице products_reservations через ровно 21 600 секунд или 6 часов в том же PHP-скрипте.Мой запрос к настоящему времени выглядит следующим образом:

 // ADD RESERVATION
 $ins = $c->prepare("INSERT INTO products_reserved (uid,pid,timestamp) VALUES (?,?,?)");
 $ins->bind_param('sss', $uid, $id, $timestamp);
 $ins->execute();

 $needid = $ins2->insert_id;
 $timestampSeconds = strtotime($timestamp);

 // SET INTERVAL FOR 6 HOURS                   
 $delIntv = $c->prepare("
    DELETE FROM products_reserved 
    WHERE ? = (? + INTERVAL 21600 SECOND) 
    AND id = ?
 ");
 $delIntv->bind_param('sss', $timestampSeconds, $timestampSeconds, $needid);
 $delIntv->execute();

 if($ins && $delIntv) {
    $c->commit();
 }

Я знаю, что делаю это совершенно неправильно, или, скорее, я бы поставил на это.Пока не нашел ничего полезного.Есть идеи?

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