#go语言向数据库写入时间数据时报错
错误提示
Incorrect datetime value: '2019-08-28T11:11:11Z' for column 'logintime' at row 1
操作数据库语句
// 修改一条短信问卷信息phoneedit
func PhoneEdit(mod Phone) error {
_, err := DB.Exec("UPDATE `phone` SET `phonenumber`=?,`paperid`=?,`logintime`=?,`publishstatus`=? WHERE `phoneid`=?", mod.Phonenumber, mod.Paperid, mod.Logintime, mod.Publishstatus, mod.Phoneid)
return err
}
错误原因
字符串内容不对,数据库datetime类型无法识别字符串为”2019-08-28T11:11:11Z”的时间,必须将字符串转化为”2019-08-28 11:11:11”格式。
解决方式
增加一个函数TimetoString()将”2019-08-28T11:11:11Z”类型时间转换为”2019-08-28 11:11:11”格式。
//
func TimetoString(logintime string) string {
logintime = strings.Replace(logintime, "T", " ", 5)
logintime = strings.Replace(logintime, "Z", "", 5)
return logintime
}
本文探讨了在使用Go语言向数据库写入时间数据时遇到的错误:Incorrect datetime value。错误源于时间字符串格式不被数据库识别,具体表现为包含T和Z字符的时间戳格式。文章提供了修改时间字符串格式的解决方案,即将2019-08-28T11:11:11Z转换为2019-08-28 11:11:11格式。

被折叠的 条评论
为什么被折叠?



