[MySQL] Connaître la date d'un éventuel dernier accès.

Connaître la date d'un éventuel dernier accès. [MySQL] - Programmation

Marsh Posté le 21-08-2002 à 09:26:31    

Je voudrais pourvoir afficher sur mon site en PHP la date à laquelle ma base de données a été MODIFIEE pour la dernière fois.
Existe-t-il une fonction qui permettrais cela?

Reply

Marsh Posté le 21-08-2002 à 09:26:31   

Reply

Marsh Posté le 21-08-2002 à 10:28:25    

Je sais pas du tout si ya une solution avec MySQL et si c'est possible avec une fonction de MySQl, mais sinon, avec le controle ActiveX FileSystemObject, tu fais un getFile(path) sur le fichier de ta base, et y'a des propriétés telles dateLastAccessed, dateLastModified...

Reply

Marsh Posté le 21-08-2002 à 11:03:53    

oui mais je ne pense pas avoir accès aux fichier même de la base...

Reply

Marsh Posté le 21-08-2002 à 11:05:31    

Le plus simple est de créer un champ Timestamp, que tu mettra à jour à chaque modif.
 

Reply

Marsh Posté le 21-08-2002 à 11:24:31    

Je crois que la dernière version de MySQL gère enfin les trigger (c'était pas trop tôt)
 
Si tu as ce module, alors crée une table "LOG".
Dedans, tu met un champ "LAST_UPDATE" de type date et tu crées une ligne.
Ensuite, crée un trigger sur chaque table (sauf "LOG" sinon tu risque de faire planter la base si MySQL ne trappe pas les trigges récursifs) qui va mettre à jour ce champ "for update".
 
Exemple :
 
CREATE TRIGGER LOG_DATE_tatable ON tatable FOR INSERT, UPDATE, DELETE
AS
UPDATE LOG SET LAST_UPDATE = getDate()
 
Tu doit faire ce trigger pour chaque "matable", avec à chaque fois un nom différent.
 
Tu peux aussi t'amuser à différencer les cas INSERT, UPDATE et DELETE, et mettre à jours des champs différents dans ta table LOG afin de différencier les mises à jours, insertions et suppressions.
 
Cette solution est la plus propre, car JAMAIS tu n'as besoin de faire la moindre modification dans tes requêtes, et tu n'as pas à te soucier de mettre à jour le champ manuellement.
 
Pour plus d'infos (par contre, c'est la syntaxe T-SQL : SQL Server) lis cet article de MSDN.
La syntaxe est quasiment la même que celle d'Oracle, donc si MySQL supporte correctement les triggers, tu ne devrais pas avoir grand chose à changer pour que ça marche.
 
http://msdn.microsoft.com/library/ [...] 2_7eeq.asp


Message édité par MagicBuzz le 21-08-2002 à 11:26:41
Reply

Marsh Posté le 21-08-2002 à 14:48:12    

pas besoin de trigger (en plus MySQL ne les gère pas)
 
fais un timestamp, il se met automatiquement à la date de modification lors d'un insert ou update.
 
EDIT : savais pas pour les trigger.
RE EDIT : grilled pour le timstamp :p


Message édité par Sh@rdar le 21-08-2002 à 14:49:32

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 21-08-2002 à 14:52:41    

Sh@rdar a écrit a écrit :

pas besoin de trigger (en plus MySQL ne les gère pas)
 
fais un timestamp, il se met automatiquement à la date de modification lors d'un insert ou update.
 
EDIT : savais pas pour les trigger.
RE EDIT : grilled pour le timstamp :p  




 
ha bon ? je croyais que les trigger étaient enfin intégrés dans un module de mysql :??:

Reply

Marsh Posté le 21-08-2002 à 15:24:29    

Sh@rdar a écrit a écrit :

 
EDIT : savais pas pour les trigger.
RE EDIT : grilled pour le timstamp :p  




 
shot down in flames :eek:


---------------
sympathisant UBCT
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed