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

Administration MySQL Discussion :

MySQL Events Scheduler


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut MySQL Events Scheduler
    Bonjour à tous,

    Je souhaiterais savoir s'il est possible de lancer un évènement sur une date donnée mais attention, cette date n'est pas statique mais plutôt dynamique. En effet, cette date se trouve dans une table de la BDD.
    Je voudrais qu'un évènement aille voir automatiquement toutes les lignes (= tuples) d'une table, vérifie la date de chaque ligne et si la date correspond à la date du jour, il faudrait récupérer une donnée de la ligne (un id) et créer une nouvelle ligne dans une autre table.
    Est-ce possible selon vous de gérer ça avec le programmeur d'évènements MySQL ? Si non, existe-t-il une technologie permettant cela ?

    Merci d'avance pour vos réflexions et réponses.

    P.S. : Pour information, je dispose de la version 5.1.6 de MySQL mais je peux récupérer une version plus récente s'il faut.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    J'ai pensé à une requête qui se ferait tous les jours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE EVENT MON_EVENEMENT
    ON SCHEDULE EVERY '1' DAY
    DO INSERT INTO myDatabase.myTableAInformer
       SELECT donnees.id, donnees.date
       FROM myDatabase.myTableDonnees as donnees
       WHERE CURRENT_DATE == donnees.date;
    Un truc comme ça pourrait peut être marché . Tous les jours, ceci insèrerait dans ma table myTableAInformer une ligne avec un id et une date.
    Désolé si je fais de grosses erreurs en SQL mais ce n'est pas mon domaine de prédilection.
    Qu'en pensez-vous ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    406
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 406
    Par défaut
    Je me répond seul. C'est en effet possible puisque je viens de réussir.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CREATE EVENT event
    ON SCHEDULE EVERY '1' day
    DO INSERT INTO tableAInformer (id)
        (SELECT id FROM tableDonnees WHERE date = CURRENT_TIMESTAMP);
    Merci quand même à ceux qui ont planché sur ma question.

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

Discussions similaires

  1. [MySQL] MySQL Event Scheduler status : Disabled
    Par roy2work dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/10/2013, 17h19
  2. Probleme de Event Scheduler
    Par nimzicien dans le forum Administration
    Réponses: 1
    Dernier message: 13/07/2012, 11h19
  3. event scheduler qui ne s'éxécute pas
    Par HAbroc dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 11/04/2009, 22h10
  4. jour spécifique dans l'event scheduler
    Par gnomathibus dans le forum Administration
    Réponses: 3
    Dernier message: 01/04/2009, 18h58
  5. Event scheduler
    Par Philtk dans le forum Requêtes
    Réponses: 2
    Dernier message: 19/05/2006, 11h07

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