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配置,

posted @   自己有自己的调调、  阅读(795)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· 【译】.NET 升级助手现在支持升级到集中式包管理
· 开发者新选择:用DeepSeek实现Cursor级智能编程的免费方案
· 独立开发经验谈:如何通过 Docker 让潜在客户快速体验你的系统
· 并发编程 - 线程同步(二)
历史上的今天:
2020-07-12 【9】Flask 脚本-MySQL数据库迁移
2020-07-12 【8】Flask 数据库
2020-07-12 【7】Flask 模板
点击右上角即可分享
微信分享提示