使用time.Time数据类型获取时间报错

2022/8/24 23:23:31

本文主要是介绍使用time.Time数据类型获取时间报错,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

报错类型:Error 1292: Incorrect datetime value: '0000-00-00' for column 'created_at' at row 1

在添加用户到数据库时,使用的字段created_at,类型为time.Time ,无法正确的获取到当前数据点的报错记录,如下图所示:

 

 解决方法与解决过程:

因为我这是学习别人的项目,所以拥有完整项目的源码,我克隆了下来,使用git checkout “对应版本的hash”,然后逐一对照源码,来来回回对了几次才发现此次报错的原因竟是粗心造成。这就是不复制代码带来的问题吗?(手动狗头)

言归正传,获取不到正确时间的问题如下图:

 

 此时的CreatedAt少了个字母d,我们去测试,模拟用户注册,得到如下:

 

 可以看到获取不到正确时间,我们修改正确变量,得到如下:

 

 可以看到插入成功。

在上图中,你还可以看见我有的时间虽然都是0,但是还插入成功。网上讲的都是这个任何使都是0的时间插入成功,而没有说为什么会出现都是0的时间。

总结:

很多报错都是变量拼写错误造成的,如上述案例所示。很多时候编译器都会有提示自定义的变量拼写出错,而上述情况为什么没有提示呢?这个问题我目前也没思考明白,猜测可能跟后面的别名有关。等更加熟悉golang时再回来补充吧,先写到这。

 



这篇关于使用time.Time数据类型获取时间报错的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程