登录
首页 >  Golang >  Go问答

错误:将Go中的空time.Time值插入MySQL的DATETIME列

来源:stackoverflow

时间:2024-03-03 14:15:26 162浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《错误:将Go中的空time.Time值插入MySQL的DATETIME列》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

Go 生成的零 time.Time 值插入 MySQL DATETIME 列时会引发错误。

我收到的错误:Error 1292:日期时间值不正确:第 1 行的“expires_at”列的“0000-00-00”

但是,当我将此 time.Time 值增加 1 纳秒或将年份更改为至少 2 时,它会被插入而不会出现任何错误。

这是否意味着我无法将 Go 生成的零 time.Time 值插入 MySQL DATETIME 列?

我正在使用 package sqlExec 来执行 INSERT。我将 time.Time 值作为参数传递给 Exec()

sess.Exec(stmt, valueArgs...)


解决方案


因为MySQL DATETIME有效范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。全零超出范围。

DATETIME 类型用于包含日期和时间部分的值。 MySQL 以“YYYY-MM-DD HH:MM:SS”格式检索并显示 DATETIME 值。支持的范围是“1000-01-01 00:00:00”到“9999-12-31 23:59:59”。

Source

理论要掌握,实操不能落!以上关于《错误:将Go中的空time.Time值插入MySQL的DATETIME列》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>