Golang Gorm时间维度数据更新问题

mysql的5.7以上版本不支持零日期格式,提示错误Incorrect datetime value: '0000-00-00' for column ...

方式1:

修改struct结构体

// 1、time.time日期类型修改为*time.time
// 设置数据库时间为Null

方式2:

mysql 5.7版本默认的sql配置是:sql_mode="ONLY_FULL_GROUP_BY",这个配置严格执行了"SQL92标准"。

show variables like 'sql_mode'
// 删除NO_ZERO_DATA参数
set global sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENgINE_SUBSTITUTION'

Go日常开发中以上方式不推荐使用,重新定义struct结构体不含更新时间或创建时间维度,不会出现上述ERROR Incorrect datetime value: '0000-00-00' for column ...

注:从MySQL 5.6升级5.7过程中,为了兼容5.6中语法,多数会修改sql_mode配置,

上一篇:My SQL数据源Zero Datetime未转换导致的数据预览及刷新失败


下一篇:mysql: [ERROR] unknown variable ‘sql-mode=STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,