由time.Time
生成的零Go
值在插入MySQL DATETIME
列时引发错误。
我得到的错误:Error 1292: Incorrect datetime value: '0000-00-00' for column 'expires_at' at row 1
但是,当我将此time.Time
值仅增加1纳秒或将年份更改为至少2时,它将被插入而没有任何错误。
这是否意味着我无法将生成的零time.Time
值插入MySQL DATETIME
列中?
我正在使用package sql
的{{1}}来执行Exec
。我将INSERT
值作为参数传递给time.Time
。
Exec()
答案 0 :(得分:2)
因为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”。