标签:正确 插入 数据类型 如下 获取 报错 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,时间 来源: https://www.cnblogs.com/nLesxw/p/goblog_learn_2.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。