首頁  >  問答  >  主體

mysql日期类型默认值'0000-00-00' 报错,是什么问题?

如题,本来是 从另一个数据库中导出的sql文件,在我电脑上导入报这个错误,不知道是不是mysql 版本问题。多方搜索无果,所以上来求助。

DROP TABLE IF EXISTS `workreport_member`;
CREATE TABLE `workreport_member` (
  `uid` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `nickname` char(16) NOT NULL DEFAULT '' COMMENT '昵称',
  `sex` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '性别',
  `birthday` date NOT NULL DEFAULT '0000-00-00' COMMENT '生日',
  `qq` char(10) NOT NULL DEFAULT '' COMMENT 'qq号',
  `score` mediumint(8) NOT NULL DEFAULT '0' COMMENT '用户积分',
  `login` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '登录次数',
  `reg_ip` bigint(20) NOT NULL DEFAULT '0' COMMENT '注册IP',
  `reg_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '注册时间',
  `last_login_ip` bigint(20) NOT NULL DEFAULT '0' COMMENT '最后登录IP',
  `last_login_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最后登录时间',
  `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '会员状态',
  PRIMARY KEY (`uid`),
  KEY `status` (`status`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='会员表';

下面这是在Sequel Pro 导入时报的错误

不知道我说清楚了没……

刚才又尝试了一下,我把值改成

`birthday` date NOT NULL DEFAULT '0001-01-01' COMMENT '生日',

貌似就可以了,有点迷惑,之前的sql 是从windows的navcat导出来的, 导入是在MAC 的Sequel Pro 导入的。


checkcheck2745 天前1664

全部回覆(2)我來回復

  • 数据分析师

    数据分析师2017-10-01 00:52:17

    mysql日期類型預設值'0000-00-00' 報錯,是什麼問題? -PHP中文網路問答-mysql日期類型預設值'0000-00-00' 報錯,是什麼問題? -PHP中文網問答

    圍觀一下哦,學習一下。

    回覆
    0
  • 迷茫

    迷茫2017-03-16 09:11:54

    MySQL 5.7 以上版本默认禁止 0000-00-00 的日期。在 MySQL 的配置文件 [mysqld] 区域添加

    sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

    然后重启 MySQL


    回覆
    0
  • 取消回覆