CURRENT_TIMESTAMP Fehler/Frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CURRENT_TIMESTAMP Fehler/Frage

    Hallo Profis,

    ich habe eine Frage an euch. Schicke vorraus, dass ich noch ganz am Anfang stehe was dieses Thema betrifft:

    Auf meinem Server läuft mysql 3.23.58 und ein Script sollte folgenden Befehl ausführen:

    PHP-Code:
    CREATE TABLE IF NOT EXISTS `geodesic_addon_geomodules_stats_user_hits` (
    `
    idint11 NOT NULL AUTO_INCREMENT ,
    `
    user_idint11 NOT NULL DEFAULT '0',
    `
    pagevarchar63 NOT NULL DEFAULT '',
    `
    timetimestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ,
    PRIMARY KEY ( `id` ) ,
    KEY `user_id` ( `user_id` , `page` )
    ); 
    Jedoch gibt mein Mysql folgenden Fehler zurück:

    PHP-Code:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_TIMESTAMP ,
    PRIMARY KEY ( `id` ) ,
    KEY `user_id` ( `us  ..... 
    Wenn ich beim time feld jedoch folgenden Befehl nutze:
    PHP-Code:
    time` timestamp NOT NULL DEFAULT '' , 
    lässt er die Tabelle anlegen.

    Der Hersteller vom Script schreibt mir jedoch, dass es zu Problemen kommt wenn ich das time feld so anlege. Und jetzt meine Frage ob das stimmt und welche Auswirkungen "CURRENT_TIMESTAMP" hat?

    Danke
    Markus

  • #2
    Geht bei mir problemlos:

    Code:
    CREATE TABLE `geodesic_addon_geomodules_stats_user_hits` (
        `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
        `user_id` INT NOT NULL ,
        `page` VARCHAR( 63 ) NOT NULL ,
        `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
        INDEX ( `user_id` , `page` )
    )
    Zuletzt geändert von h3ll; 02.02.2011, 09:54.

    Kommentar


    • #3
      Mit [COLOR=#000000][COLOR=#0000CC]timestamp NOT NULL [/COLOR][COLOR=#006600]DEFAULT [/COLOR][COLOR=#0000CC]CURRENT_TIMESTAMP [/COLOR][/COLOR]teilst du MySQL mit, dass diese Spalte vom Typ timestamp ist, keine NULL-Werte enthalten darf und der Default-Wert der aktuelle Timestamp ist. Der Default-Wert wird immer dann verwendet, wenn ein Datensatz in die Tabelle eingetragen wird und dabei kein Wert (weder Null noch sonstwas) für diese Spalte angegeben ist.

      MySQL 3.23 ist seehr alt. Du solltest dringen ein Update machen. Aktuell ist 5.1. Vermutlich kennt deine Uraltversion CURRENT_TIMESTAMP einfach nicht.

      Kommentar


      • #4
        Super, danke für die Aufklärung. Jetzt verstehe ich es.

        Wahrscheinlich überträgt das Script keinen Timestamp und benötigt den aktuellen Wert.

        Ich werd mal ein Update machen lassen und hoffen, dass es dann funktioniert.

        Liebe Grüße
        Markus

        Kommentar

        Lädt...
        X