PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Änderungsdatum einer Tabelle lesen


Skyman
27.07.2003, 16:41:54
Hallo,

ich suche nach einer Möglichkeit aus einer PHP Seite das "Datum der letzten Änderung" einer MySQL Tabelle auszulesen.

Wer kennt den Befehl für MySQL mit dem ich weiß, wann das letztemal an der Datenbank oder sogar nur an einer der dortigen Tabellen rumgespielt wurde?

Für eine funzende Antwort wäre ich euch dankbar...

Ciao Leute...

Damir
29.07.2003, 08:16:43
Hi, nach meinem Wissen gibt es dafuer keinen MySQL-Befehl.
Dieses waere ja zudem eine ungewollte Verschwendung von Resourcen, da sicherlich nicht jeder diese Informationen benoetigt aber trotzdem die Informationen aller Datenbanken und Tabellen irgendwo gespeichert werden muessen. Stelle Die mal das Szenario bei mehreren Millionen Datensaetzen vor!!!!!

Es gibt aber zwei Moeglichkeiten:
1.) Du traegst eine zusaetzliche Spalte in Deine Tabelle ein, die die aktuelle Zeit der Aenderung beeinhaltet - damit hast Du dann den Zeitstempel fuer die Tabelle, bzw. den einzelnen Datensatz.

2.) Du kannst mit http://www.selfphp.info/funktionsreferenz/dateisystem_funktionen/filemtime.php direkt auf die Tabellendateien von MySQL zugreifen und das Datum auslesen(root-Rechte vorausgesetzt), da fuer jede Tabelle eine eigene Datei angelegt wird. Das sagt Die aber dann nur wann zum letzten Mal die Tabelle geaendert wurde, nicht welcher Datensatz.
Das Aenderungsdatum einer Datenbank kannst Du nicht auslesen, da dafuer keine Datei sondern ein Verzeichnis angelegt wird, dieses Datum ist also das Erstellungsdatum.

Naja, vieleicht kannst Du damit ja was anfangen.

Bye Damir

Matthias
29.07.2003, 10:03:33
hmmm! da muß ich dir leider Widersprechen!

...
$result=mysql_query("SHOW TABLE STATUS LIKE 'TABELLE'");
$showtable=mysql_fetch_array($result);
echo $showtable[Create_time];
echo $showtable[Update_time];
...

Damir
29.07.2003, 10:10:54
Gebe mich geschlagen ;-))

Naja aber da macht MySQL wohl das gleiche und zieht sich die Informationen aus den Dateien und zeigt diese an.
Im Grunde kannst Du damit, wie auch bei meinem Beispiel, nur das Erstellungs- und Aenderungsdatum einer ganzen Tabelle bekommen aber das wollte er ja auch ;-))
Ich sollte mich mal wieder ein wenig mehr mit MySQL beschaeftigen :-)

Bye Damir

Skyman
29.07.2003, 23:52:27
Hallo Leute,

das funzt ja richtig toll, ich danke euch für den genialen Gedankengang, manchmal denkt man so grübelnd über etwas nach, dabei liegt die Lösung so nahe.

Han es gleich eingebaut, muß man nur nen bisschen formatiren und schon geht's ab.

Danke und bis demnächst mal *freu ;-))