IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Supprimer automatiquement des données qui datent dans une base de données


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2018
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2018
    Messages : 148
    Par défaut Supprimer automatiquement des données qui datent dans une base de données
    Bonjour,

    J'ai fait un petit formulaire qui demande : nom, prénom, date et heure (pour une personne qui a fait un événement en particulier)
    J'enregistre donc dans ma base de données ces informations.
    J'aimerais savoir s'il était possible de supprimer automatiquement (une tâche qui se lancerait tous les jours) les enregistrements qui datent de plus de 2 semaines par rapport à la date du jour.

    La base de données est installée sur un Windows Server et j'y accède depuis mon poste grâce à mySQL Workbench (est-ce que c'est ça le SGBD?)

    Je vous remercie

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web Full-Stack
    Inscrit en
    Mai 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web Full-Stack
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2019
    Messages : 19
    Par défaut
    Salut,

    Tu peux utiliser les événements planifié en SQL, voici la doc -> https://dev.mysql.com/doc/refman/5.7...ate-event.html

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2018
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2018
    Messages : 148
    Par défaut
    J'arrive à quelque chose comme
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE EVENT delTwoWeeks
    ON SCHEDULE
    EVERY 1 DAY
    DO
    DELETE FROM maTable WHERE DATEDIFF(CURDATE(), date) > 14;

    Donc là j'ai un événement qui s'appelle delTwoWeeks, qui doit se lancer tous les jours et qui exécute ma requête. Est-ce bien ça?
    Par contre, y a-t-il un moyen pour déterminer l'heure à laquelle ça se lance?

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web Full-Stack
    Inscrit en
    Mai 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web Full-Stack
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2019
    Messages : 19
    Par défaut
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE EVENT delTwoWeeks
    ON SCHEDULE AT '2006-02-10 23:59:00' + INTERVAL 1 DAY
    DO DELETE FROM maTable WHERE DATEDIFF(CURDATE(), date) > 14;

    Je n'ai pas tester mais d'après la doc !

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2018
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2018
    Messages : 148
    Par défaut
    Oui j'avais vu cette partie, mais sans certitude.

    Mais le format c'est yyyy-dd-mm ou yyyy-mm-dd ?
    Et le + INTERVAL 1 DAY, ça ne va pas l'exécuter seulement demain? Fin je suppose que je le remplace par l'attribut EVERY.

    Merci

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web Full-Stack
    Inscrit en
    Mai 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web Full-Stack
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2019
    Messages : 19
    Par défaut
    Pour cela tu devras utiliser STARTS :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     CREATE EVENT example
    ON SCHEDULE EVERY 1 DAY
    STARTS CURRENT_TIMESTAMP // Cela veut dire aujourd'hui à cette heure actuelle : Tu pourras le remplacer par une heure qui te convient pour commencer l'exécution
    DO DELETE ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/02/2010, 21h32
  2. Réponses: 4
    Dernier message: 26/03/2008, 09h43
  3. Insertion des images et vidéos dans une base de données
    Par taouja dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 07/04/2007, 13h31
  4. Réponses: 2
    Dernier message: 16/02/2006, 23h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo