J'ai une table, Où j'ai besoin à la fois firstmod et lastmodMySQL, Table avec deux dates?
firstmod doit être l'horodatage de puis la ligne a été créée. lastmod doit se mettre à jour à l'heure actuelle.
C'est ce que j'ai jusqu'à présent ..
CREATE TABLE IF NOT EXISTS `SiteGen_JamesM_Live`.`PAGES` (
`ID` INT(11) NOT NULL AUTO_INCREMENT ,
`USER_ID` INT(11) NOT NULL ,
`TITLE` VARCHAR(100) NOT NULL ,
`HTML` LONGTEXT NOT NULL ,
`FIRSTMOD` TIMESTAMP NOT NULL DEFAULT 0 ,
`LASTMOD` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
PRIMARY KEY (`ID`))
ENGINE = InnoDB
AUTO_INCREMENT = 5
DEFAULT CHARACTER SET = latin1
Et voici ce que je reçois en retour:
Executing SQL script in server
ERROR: Error 1067: Invalid default value for 'FIRSTMOD'
Je ne connais pas la méthode que Paul suggère, mais je doute que cela fonctionne. '0000-00-00 00:00:00' n'est pas une valeur par défaut valide pour un horodatage (puisqu'il commence à partir de '1970-01-01 00:00:00'). Vous pouvez essayer d'utiliser 0 à la place, mais cela ne fera rien. – Mchl
treid zéro ne va pas, au travail ?! –
Peut-être à cause de ça: http://dev.mysql.com/doc/refman/5.5/fr/server-sql-mode.html#sqlmode_allow_invalid_dates Je pense toujours que ça ne marchera pas. – Mchl