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 @   自己有自己的调调、  阅读(797)  评论(0编辑  收藏  举报
编辑推荐:
· Brainfly: 用 C# 类型系统构建 Brainfuck 编译器
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
阅读排行:
· Tinyfox 发生重大改版
· DeepSeek 全面指南,95% 的人都不知道的9个技巧(建议收藏)
· 对比使用DeepSeek与文新一言,了解DeepSeek的关键技术论文
· Brainfly: 用 C# 类型系统构建 Brainfuck 编译器
· DeepSeekV3+Roo Code,智能编码好助手
历史上的今天:
2020-07-12 【9】Flask 脚本-MySQL数据库迁移
2020-07-12 【8】Flask 数据库
2020-07-12 【7】Flask 模板
点击右上角即可分享
微信分享提示