创建Mysql日期时间列,默认值为0000-00-00



我想创建一个具有如下列的表。

CREATE  TABLE `user_gender` (
  `user_gender_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `user_gender_title` VARCHAR(100) NOT NULL ,
  `user_gender_modified_on` DATETIME NOT NULL DEFAULT 0000-00-00 00:00:00 ,
  `user_gender_created_on` DATETIME NOT NULL DEFAULT 0000-00-00 00:00:00 ,
  PRIMARY KEY (`user_gender_id`) )
ENGINE = InnoDB;

但默认的0000-00-00似乎无法在mysql中工作。然而,我从joomla数据库模型中模仿了它,所以我非常确信它应该正确工作。但是我的phpadmin一直说00-00中有语法错误。有人能解释一下吗?

尝试将drefault值放在引号中:

CREATE  TABLE `user_gender` (
  `user_gender_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `user_gender_title` VARCHAR(100) NOT NULL ,
  `user_gender_modified_on` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,
  `user_gender_created_on` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,
  PRIMARY KEY (`user_gender_id`) )
ENGINE = InnoDB;

默认值缺少引号。

CREATE  TABLE `user_gender` (
`user_gender_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
`user_gender_title` VARCHAR(100) NOT NULL ,
`user_gender_modified_on` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,
`user_gender_created_on` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,
PRIMARY KEY (`user_gender_id`) )
ENGINE = InnoDB;

MySQL 5.5似乎破坏了这一点。我最近升级并破坏了一个应用程序,该应用程序依赖于在特定实例中设置的值"0000-00-00 00:00:00"。它以前一直有效,但现在不再有效,唯一的变化是平台版本更新。

相关内容

  • 没有找到相关文章

最新更新