mysql日期类型默认值'0000-00-00' 报错,是什么问题?
check
check 2017-03-16 09:11:32
0
2
1710

如题,本来是 从另一个数据库中导出的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 导入的。


check
check

reply all(2)
数据分析师

MySQL date type default value '0000-00-00' reports an error, what is the problem? -PHP Chinese website Q&A-mysql date type default value '0000-00-00' error reported, what is the problem? -PHP Chinese website Q&A

Let’s take a look and learn.

迷茫

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


Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!