Статья

Авто удаляемая LibArea)

Я чуть чуть модернизировал базу данных) В общем я взял из базы данных таблицу с постами, и создал для нее специальный триггер. DELIMITER //

CREATE TRIGGER postsinserttrigger AFTER INSERT ON posts FOR EACH ROW BEGIN – Установить флаг, указывающий на наличие новых записей UPDATE postsstatus SET hasnew_records = 1; END//

DELIMITER ; Далее создал дополнительную таблицу, которая будет хранить информацию о наличии новых записей в той таблице, за которой мы будем следить… CREATE TABLE IF NOT EXISTS postsstatus ( hasnew_records TINYINT(1) NOT NULL DEFAULT 0 ); Затем создаем процедуру, которая будет проверять наличие новых записей и удалять таблицу «posts» при их отсутствии в течение 24 часов. DELIMITER //

CREATE PROCEDURE deletepoststable() BEGIN DECLARE newrecordscount INT;

– Проверить наличие новых записей SELECT COUNT(*) INTO newrecordscount FROM postsstatus WHERE hasnew_records = 1;

IF newrecordscount = 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/

Сорян за ссылку, но я же как то должен продвинуть идею.

+ Сам сделал, сам сломал. Пытаюсь поправить)))

4 Ответа

  1. Это можно сказать хулиганство над базой :) Чё только люди не придумают. Вот сроду бы в голову не пришло это. )

    1. А мне вот пришло) Но я отказался от этой идеи. Я попробовал. У меня получилось. А после вернул сделанный дамп)

  1. CREATE PROCEDURE delete_posts_table()
    BEGIN
        DECLARE new_records_count INT;
    

    А это на каком языке? Если Вы программист - может подключитесь к усовершенствованию движка Libarea? Вообще молодец - то тетрис, то автоудаление, то еще какие то движухи… Ставлю +.

    1. Это sql запрос для базы данных в Mysql на создание процедуры. И я не программист.