Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/06/2008, 08h51   #1
Membre habitué
 
Inscription : septembre 2007
Messages : 357
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 357
Points : 118
Points : 118
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
whitespirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2008, 12h42   #2
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

Regarde 'curdate()' et 'now()' dans cette page :
http://dev.mysql.com/doc/refman/5.0/...functions.html
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2008, 16h51   #3
Membre habitué
 
Inscription : septembre 2007
Messages : 357
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 357
Points : 118
Points : 118
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
whitespirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 00h12   #4
Membre Expert
 
Avatar de Sivrît
 
Inscription : février 2006
Messages : 953
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2006
Messages : 953
Points : 1 189
Points : 1 189
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.
Sivrît est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 09h43   #5
Membre habitué
 
Inscription : septembre 2007
Messages : 357
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 357
Points : 118
Points : 118
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!
whitespirit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2008, 10h52   #6
Membre Expert
 
Avatar de Sivrît
 
Inscription : février 2006
Messages : 953
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2006
Messages : 953
Points : 1 189
Points : 1 189
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.
Sivrît est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h02.


 
 
 
 
Partenaires

Hébergement Web