У меня есть стол, где мне нужны как firstmod, так и lastmodMySQL, таблица с двумя датами?
firstmod должен быть отметкой времени, после чего строка была создана. lastmod должен обновить свое «я» до текущего времени.
Это то, что я до сих пор ..
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
И это то, что я получаю в ответ:
Executing SQL script in server
ERROR: Error 1067: Invalid default value for 'FIRSTMOD'
Я не знаю метода, который предлагает Павел, но я сомневаюсь, что он сработает. '0000-00-00 00:00:00' не является допустимым значением по умолчанию для метки времени (начиная с '1970-01-01 00:00:00'). Вместо этого вы можете попробовать использовать 0, но он просто ничего не сделает. – Mchl
treid zero wont, work ?! –
Возможно из-за этого: http://dev.mysql.com/doc/refman/5.5/en/server-sql-mode.html#sqlmode_allow_invalid_dates Я все еще думаю, что это не сработает. – Mchl