Jayati Creative Ответов: 2

Как удалить SQL-таблиц старше 4дня по интересующей вас технологии дата публикации


Я разрабатываю агрегатор, который хранит опубликованные сообщения участников. Но сообщения старше 7 дней должны быть удалены автоматически или с помощью cron.
Может ли кто-нибудь дать идею?

Что я уже пробовал:

это разработано в gregarius, чтобы я попробовал плагин gregarius

Mehdi Gholam

..- а что вы пробовали?

2 Ответов

Рейтинг:
1

Ankur\m/

1. Создайте SQL-скрипт, который удаляет записи старше 4 дней. Что-то вроде:

DELETE FROM table_name WHERE date_column < DateAdd(day, -4, GetDate())

2. Создать задание SQL[^] которые запускают этот скрипт в запланированное время каждый день.

Кроме того, вы можете захотеть ARCHIVE данные вместо того, чтобы удалять их, если только они не являются абсолютно бесполезными.


Richard Deeming

Было бы лучше использовать Функция dateadd[^] для вычисления даты, а не вычитания целого числа:
... WHERE date_column < DateAdd(day, -4, GetDate())

Арифметика дат работает только со старшими datetime / smalldatetime типы.

Ankur\m/

Вы абсолютно правы! Я в основном работаю с типом данных datetime, поэтому у меня есть привычка использовать его таким образом. С этого момента я изменю это. И я также обновил свое решение. Спасибо!

Рейтинг:
1

Daniel Jones

Вы также можете создать оператор DELETE с помощью функций datediff и getdate.

DELETE FROM TableName WHERE DATEDIFF(day,getdate(),thatColumn) < -4