Meike: MySQL Standartwert fü Datum

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

  1. 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

    --

    sh:(  fo:|  ch:?  rl:°  br:$,<,>  n4:&  ie:|  mo:|  va:)  de:]  zu:)  fl:|  ss:|  ls:[,#
    1. 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).

      1. 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

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. 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

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau