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

标签 mysql sql datetime

我想创建一个带有这样的列的表格。

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 中有语法错误。谁能解释一下吗?

最佳答案

尝试将默认值放在引号中:

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 - 创建Mysql日期时间列,默认为0000-00-00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14757518/

相关文章:

php - IN 查询计数随着页面加载速度非常慢,寻找另一个解决方案

python - SQL 数据库中查询的多线程

sql - Time.now.beginning_of_year 不从年初开始

java - 在 Java 中查找两个日期范围之间的交集(以编程方式)

python - Django with mysql - 加载 mysqldb 模块时出错

php - MySQL IN() 列表是否有限制

MySQL 错误 #1064

mysql - 在mysql中获取成对的保留日期

c# - 将字符串转换为日期 - C#

mysql - Solr 索引我的 SQL 时间戳或日期时间字段