站点图标 Linux-技术共享

MYSQL导入sql文件出错,ERROR 1067 (42000): Invalid default value for ‘created_at’

image_20220311121834

引起这个错误的原因多半是因为字段中带有DEFAULT CURRENT_TIMESTAMP,具体错误内容为:

[Err] 1067 - Invalid default value for 'created'
[Err] INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('116', '163', '17', NULL);

原因分析
引起该错误的原因是由于sql_modes 的参数,使用该命令可查看具体详细
show variables like 'sql_mode' ;

解决方法
移除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';

退出移动版