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