HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum
 

 
 

Anzeige 
 
HTMLWorld » Forum

Thema anzeigen - TIMESTAMP + NOT NULL = DEFAULT Value CURRENT_TIMESTAMP ???

 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

TIMESTAMP + NOT NULL = DEFAULT Value CURRENT_TIMESTAMP ???

 

Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   MySQL
Vorheriges Thema:
Nächstes Thema:  
Autor Nachricht
automatix



Anmeldungsdatum: 18.03.2010
Beiträge: 2

BeitragVerfasst am: 18.03.2010 00:10:21    Titel: TIMESTAMP + NOT NULL = DEFAULT Value CURRENT_TIMESTAMP ??? Antworten mit Zitat

Hallo!

Es gibt eine Tybelle "test" mit einer TIMESTAMP-Spalte "datetimecreated", deren Werte nicht NULL sein dürfen:

Code:
CREATE TABLE IF NOT EXISTS `test` (
`id` INT NOT NULL AUTO_INCREMENT ,
`label` VARCHAR(100) NULL ,
`description` VARCHAR(1000) NULL ,
`datetimecreated` TIMESTAMP NOT NULL ,
`datetimelastupdate` TIMESTAMP NULL ,
`datetimedeleted` TIMESTAMP NULL ,
`status` VARCHAR(10) NOT NULL ,
`numupdates` INT NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`) )
ENGINE = MyISAM;


Wider Erwarten macht MySQL aus dem Code oben keine NOT-NULL-Spalte, sondern eine NULL-Spalte mit einem DEFAULT-Wert "CURRENT_TIMESTAMP":

Code:
mysql> DESC test;
+--------------------+---------------+------+-----+-------------------+----------------+
| Field              | Type          | Null | Key | Default           | Extra          |
+--------------------+---------------+------+-----+-------------------+----------------+
| id                 | int(11)       | NO   | PRI | NULL              | auto_increment |
| label              | varchar(100)  | YES  |     | NULL              |                |
| description        | varchar(1000) | YES  |     | NULL              |                |
| datetimecreated    | timestamp     | YES  |     | CURRENT_TIMESTAMP |                |
| datetimelastupdate | timestamp     | YES  |     | NULL              |                |
| datetimedeleted    | timestamp     | YES  |     | NULL              |                |
| status             | varchar(10)   | NO   |     | NULL              |                |
| numupdates         | int(11)       | NO   |     | 0                 |                |
+--------------------+---------------+------+-----+-------------------+----------------+


Hat jemand eine Idee, warum das DBMS das macht? Und wie kann man eine TIMESTAMP-Spalte auf NOT NULL setzen, und zwar ohne Default-Wert?

Danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nsche



Anmeldungsdatum: 14.04.2010
Beiträge: 1

BeitragVerfasst am: 14.04.2010 16:41:26    Titel: Antworten mit Zitat

hallo automatix,
schon seltsam, was du herausgefunden hast. Bei mir passiert das gleiche.
phpMyAdmin weist die Spalte allerdings als NOT NULL aus, jedoch mit einem Defaulteintrag CURRENT_TIMESTAMP

nsche
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
automatix



Anmeldungsdatum: 18.03.2010
Beiträge: 2

BeitragVerfasst am: 14.04.2010 17:14:15    Titel: Antworten mit Zitat

nsche hat folgendes geschrieben:
hallo automatix,
schon seltsam, was du herausgefunden hast. Bei mir passiert das gleiche.
phpMyAdmin weist die Spalte allerdings als NOT NULL aus, jedoch mit einem Defaulteintrag CURRENT_TIMESTAMP

nsche

Hallo!

Ja, ich weiß, phpMyAdmin verhält sich an dieser Stelle etwas seltsam. Versuch es lieber über die Konsole, mit DESC meinetabelle, dann siehst Du, was ich meine.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    HTMLWorld Foren-Übersicht
   MySQL
Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.