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

SQL Procédural MySQL Discussion :

Lors de l'ouverture d'une table, insérer la date de dernière maj


Sujet :

SQL Procédural MySQL

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Points : 170
    Points
    170
    Par défaut Lors de l'ouverture d'une table, insérer la date de dernière maj
    Bonjour,

    Excusez-moi si je ne suis pas dans le forum approprié. Je souhaiterai que lors de l'édition/insertion/suppression d'un élément dans une table, j'insère la date de cette mise à jour. J'ai donc un champs 'last_update' sur chacune de mes tables.

    J'ai cru comprendre mais je ne suis pas vraiment sûr qu'il serait assez simple et optimal d'utiliser une procédure stocké pour cette requête. Cependant je ne vois pas ou orienter mes recherches car j'ai de simples notions théoriques à ce sujet.

    Peut-être que vous pourriez me donner une piste de recherche sur cette idée ?

    En vous remerciant d'avance, bonne journée

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Regarde 'curdate()' et 'now()' dans cette page :
    http://dev.mysql.com/doc/refman/5.0/...functions.html

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Points : 170
    Points
    170
    Par défaut
    Ok mais ce que j'ai lu concerne des requêtes SELECT. Comment faire pour inclure cette fonction lors de la création d'un enregistrement

  4. #4
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Citation Envoyé par whitespirit Voir le message
    Ok mais ce que j'ai lu concerne des requêtes SELECT. Comment faire pour inclure cette fonction lors de la création d'un enregistrement
    Là c'est plus embêtant car les triggers ne se déclenchent que sur les modifications. Je ne vois guère que deux solutions pour mettre à jour sur un SELECT :
    • Appeler une procédure stockée qui met à jour la date d'accès et renvoie les résultats
    • Réaliser la mise à jour au niveau applicatif (en faisant passer les requêtes par une fonction utilitaire qui s'en charge par exemple)

    Dans les deux cas c'est non systématique. Si on fait la requête sans passer par la procédure ou le code qui fait la mise à jour on n'a pas de trace.

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Points : 170
    Points
    170
    Par défaut
    Merci de ta réponse (en passant joli pseudo que tu as).

    En fait, c'est surtout lors de la création et la modification d'un élément d'une table que je souhaite mettre à jour la date de dernière date de modif mais si c'est trop casse tête, je vais la faire en programmation.

    A bientôt!

  6. #6
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Citation Envoyé par whitespirit Voir le message
    Merci de ta réponse (en passant joli pseudo que tu as).

    Citation Envoyé par whitespirit Voir le message
    En fait, c'est surtout lors de la création et la modification d'un élément d'une table que je souhaite mettre à jour la date de dernière date de modif mais si c'est trop casse tête, je vais la faire en programmation.
    Pour les modifications c'est différent. A partir de la version 5 mysql supporte les triggers qui sont tout à fait adaptés pour ça. Il suffit d'en créer qui forcent 'last_update' à 'now()' ou 'curdate()' pour les éléments insérés ou modifiés.
    On a un exemple et sinon il y a la doc officielle.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/03/2012, 22h47
  2. [AC-2003] "ODBC -- Appel échoué" lors de l'ouverture d'une table sql dans access
    Par benoit27 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 25/06/2009, 10h50
  3. lenteur lors de l'ouverture d'une table volumineuse
    Par gregcat dans le forum Bases de données
    Réponses: 18
    Dernier message: 19/04/2007, 08h25
  4. [ACCESS97] Code à l'ouverture d'une table
    Par mpascolo dans le forum Access
    Réponses: 4
    Dernier message: 28/10/2005, 10h59
  5. Erreur lors de l'ajout d'une table
    Par FredMines dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 27/07/2005, 13h13

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