MySQL Standartwert fü Datum
Meike
- php
Hallo,
wenn ich mit phpMyAdmin ein Tabelle erstelle, dann kann ich für eine Spalte einen Standrtwert angeben. Das klappt auch prima ...
Nun möchte ich in meiner Spalte "datum" (Typ DATE) als Standartwert immer das gerade aktuelle Datum erscheinen lassen...
Wie mache ich das? Ist das möglich, so dass beim einfügen eines neuen Datensatzes autom. das akt. Datum genommen wird.
Danke, Meike
Hallo Meike,
du kannst mit NOW() im SQL-Statement das Datum setzen (oder auch Datum und Zeit oder einen Timestamp).
Schönen Gruß aus München
die knappschaft
Hi,
ok, das ist klar ... gibts keinen Lösung, dass als Standard immer das akt. Datum genommen wird ?
LG Meike
du kannst mit NOW() im SQL-Statement das Datum setzen (oder auch Datum und Zeit oder einen Timestamp).
hi,
ok, das ist klar ... gibts keinen Lösung, dass als Standard immer das akt. Datum genommen wird ?
http://dev.mysql.com/doc/mysql/de/DATETIME.html:
"Der TIMESTAMP-Typ ist ein Typ, den Sie dafür benutzen können, um INSERT- oder UPDATE-Operationen mit dem aktuellen Datum und der aktuellen Zeit zu stempeln. Wenn Sie mehrfache TIMESTAMP-Spalten haben, wird nur die erste automatisch aktualisiert.
Die automatische Aktualisierung der TIMESTAMP-Spalte geschieht unter einer der folgenden Bedingungen: [...]"
gruß,
wahsaga
Hello,
ok, das ist klar ... gibts keinen Lösung, dass als Standard immer das akt. Datum genommen wird ?
MySQL ist da noch sehr rudimentär.
Da der Zugriff aber i.d.R. immer über ein API, wie z.B. PHP, geschieht, kann man sich eine Krücke bauen:
Bau eine zusätzliche Tabelle in Deine Datenbank
T_SPECS Tabelle der Spezifikation aller Felder aller Tabellen
id_spec Laufende Nummer
tablename Name der Tebelle, in der das Feld steht
fieldname Name des Feldes
defaultval Wert oder Funktion für den Standardwert
prefunc Funktion vor der Wertveränderung
postfunc Funktion nach der Wertveränderung
displayfunc Name der Darstellungsfunktion für Bildschirmmaske
pos_x x-Pos obere linke Ecke in der Standard-Bildschirmmaske
pos_y y-Pos obere linke Ecke in der Standard-Bildschirmmaske
width Breite
height Höhe
maxlenght maximale Anzahl Zeichen
...
usw
Und wenn Deine API-Funktionen die Zeilen diese Tabelle für die betroffenen anderen Tabellen am Anfang jeder Verarbeitung auslesen und z.B. in der Session abspeichern, dann kann jede Deiner API-Funktionen mit den Daten arbeiten und diese bei der Anzeige, der Datenüberprüfung, dem SQL-Statement usw. berücksichtigen. Du kannst das auch noch mit "show columns from $tablename" und mit "show grants for '$user'@'$host'" verbinden...
Dann wird aus Deinem System nach und nach ein "richtiges CMS"
Harzliche Grüße aus http://www.annerschbarrich.de
Tom