Авто удаляемая LibArea)
Я чуть чуть модернизировал базу данных)
В общем я взял из базы данных таблицу с постами, и создал для нее специальный триггер.
DELIMITER //
CREATE TRIGGER posts_insert_trigger AFTER INSERT ON posts
FOR EACH ROW
BEGIN
-- Установить флаг, указывающий на наличие новых записей
UPDATE posts_status SET has_new_records = 1;
END//
DELIMITER ;
Далее создал дополнительную таблицу, которая будет хранить информацию о наличии новых записей в той таблице, за которой мы будем следить…
CREATE TABLE IF NOT EXISTS posts_status (
has_new_records TINYINT(1) NOT NULL DEFAULT 0
);
Затем создаем процедуру, которая будет проверять наличие новых записей и удалять таблицу «posts» при их отсутствии в течение 24 часов.
DELIMITER //
CREATE PROCEDURE delete_posts_table()
BEGIN
DECLARE new_records_count INT;
-- Проверить наличие новых записей
SELECT COUNT(*) INTO new_records_count FROM posts_status WHERE has_new_records = 1;
IF new_records_count = 0 THEN
-- Удалить таблицу "posts"
DROP TABLE IF EXISTS posts;
-- Удалить запись о статусе
DELETE FROM posts_status;
END IF;
END//
DELIMITER ;
Ну и создаем задание в планировщике, который будет запускать эту процедуру.
CREATE EVENT IF NOT EXISTS delete_posts_event
ON SCHEDULE EVERY 24 HOUR
DO
CALL delete_posts_table();
Так что приглашаю спасать yryr.ru от гибели) Зайди раз в сутки и напиши привет!
https://yryr.ru/
Сорян за ссылку, но я же как-то должен продвинуть идею.
+
Сам сделал, сам сломал. Пытаюсь поправить)))
Это можно сказать хулиганство над базой :)
Чё только люди не придумают. Вот сроду бы в голову не пришло это. )
А мне вот пришло) Но я отказался от этой идеи.
Я попробовал. У меня получилось. А после вернул сделанный дамп)