为了账号安全,请及时绑定邮箱和手机立即绑定

将 Go 的零时间。时间值插入 MySQL DATETIME 列错误

将 Go 的零时间。时间值插入 MySQL DATETIME 列错误

Go
宝慕林4294392 2023-06-01 09:57:26
time.Time生成的零值Go在插入 MySQLDATETIME列时会抛出错误。我得到的错误:Error 1292: Incorrect datetime value: '0000-00-00' for column 'expires_at' at row 1但是,当我将该time.Time值仅增加 1 纳秒或将年份更改为至少 2 时,它会被毫无错误地插入。这是否意味着我不能将 Go 生成的零time.Time值插入到 MySQLDATETIME列中?我正在使用package sqlsExec来执行INSERT. 我将time.Time值作为参数传递给Exec().sess.Exec(stmt, valueArgs...)
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

因为 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”。


查看完整回答
反对 回复 2023-06-01
  • 1 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信