我想创建一个具有如下列的表。
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"。它以前一直有效,但现在不再有效,唯一的变化是平台版本更新。