我想用这样的列创建一个表。
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中存在语法错误。任何人都能解释一下吗?
答案 0 :(得分:2)
尝试将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;
答案 1 :(得分:1)
您缺少默认值的引号。
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;
答案 2 :(得分:0)
这似乎已被MySQL 5.5破坏。我最近升级并破坏了一个依赖于00:00:00&00; 00的结果的应用程序。在特定实例中设置。它以前总是有效,但不再是唯一的变化是平台版本更新。