Maison > base de données > tutoriel mysql > Comment supprimer automatiquement les enregistrements MySQL après sept jours ?

Comment supprimer automatiquement les enregistrements MySQL après sept jours ?

Patricia Arquette
Libérer: 2024-11-27 14:17:11
original
724 Les gens l'ont consulté

How to Automatically Delete MySQL Records After Seven Days?

Suppression des enregistrements MySQL après une durée

Dans cet article, nous aborderons le problème de la suppression des enregistrements d'une base de données MySQL après un intervalle de temps spécifié.

Problème :

Messages dans une table MySQL avec "id", Les colonnes « message » et « date » doivent être supprimées après sept jours. Les dates sont spécifiées au format « AAAA-MM-JJ HH:MM:SS ». Il est proposé d'utiliser un événement MySQL plutôt qu'une tâche cron pour ce processus de suppression.

Requête :

La requête ci-dessous inclut une condition révisée pour supprimer les messages datant de plus de 7 ans. jours :

CREATE EVENT delete_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
ON COMPLETION PRESERVE
DO BEGIN
    DELETE messages WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY);
END;
Copier après la connexion

Clarification :

Au lieu d'utiliser la condition suggérée dans la question ("DELETE messages WHERE date >= (la date actuelle - 7 jours)"), nous utilisons "WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY)". Cela garantit que les messages datant d'exactement 7 jours sont supprimés, alors que la condition précédente ne les supprimerait pas.

Recommandation :

Bien que les événements MySQL puissent être utilisés pour cela Dans ce but, l'utilisation d'un simple script cron est également une option valable. Il offre une maintenance plus facile, évite les solutions de contournement SQL complexes et s'intègre parfaitement au système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal