Mysql8:[Err] 1067 - Invalid default value of 'time'

背景:由Mysql5.6导出的数据插入到Mysql8中报错:

[Err] 1067 - Invalid default value of 'time'

其中报错信息为时间字段‘0000-00-00’。

解决办法:

去掉Mysql8不能插入时间为0的限制:

  • 查询Mysql8的限制:
> select @@sql_mode;
> 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_IN_DATE, NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION’
  • 去掉NO_ZERO_IN_DATE, NO_ZERO_DATE:
> SET GLOBAL sql_mode = ’ ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION’;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容