- 博客(4)
- 收藏
- 关注
原创 Go报错: incorrect datetime value: ‘0000-00-00‘ for column ‘start‘ at row 1
mysql 插入记录时报 incorrect datetime value 的错误,意思是 start 这一列给的值不对。一开始,我以为是 mysql 该字段的类型设错了。检查后,确定数据表字段类型没设错。接着我以为是前端值没取到或者没正确传到后端。在前端打印后,确定前端传值没有问题。既然数据表和前端都没问题,那问题应该就是在后端了。我在后端把前端的值打印出来,发现后端接收到的该字段的值是正确的,但是在进行类型转换时出错,把正确的值解析为了‘0000-00-00’。这是为什么呢?问题出在
2020-12-29 21:36:25 2105
原创 Gorm updates structs 时,某些并未传值的字段会被更新为默认值
数据库用的是 mysql,其中有几个字段是 json 类型。在 go 中这几个字段解析为 struct。使用 gorm 的 updates 方法更新某条数据时,发现这些 json 字段都会被更新为默认值,但是在传给 updates 方法的struct 中并没有包含这几个字段。后来才发现,由于用的是 struct类型,即使在前端传回来的 formData 中并没有包含这几个字段,但是 formData 在后端会转换为 struct 结构。而这几个 json类型的字段就会被转换为 struct 的默认值,.
2020-12-21 18:34:52 3163
原创 mysql 使用 order by 排序结果与预期不一致
问题开发项目中有一张 scores 表用来保存学生的考试成绩,其中有一个 score 字段用来保存总分。业务中有对 score 字段进行排序的需求,但是 sql 语句执行后的结果与预期不一致,如下图所示:如上图所示,对 score 字段进行降序排序,预期结果应该是 102、101、87…… 而实际却不是。原因排序结果与预期不一致的原因在于 score 字段的类型是 varchar,而不是 int 或 double 等数字类型,所以 mysql 在使用 order by 排序时是按照字符串的形式来排
2020-05-16 00:04:59 1036
原创 解决 zsh: command not found 报错
问题最近在开发 Go 项目,使用 go get -u xxxx 成功下载安装包后,在终端执行新下载包的命令,一直报 zsh: command not found 的错误。一开始以为是包没安装成功,但检查后发现不是。后来才意识到有可能是环境变量出问题。打印 PATH 后,果然,PATH 中的路径不是我设置好的 GOBIN 路径。查找相关文件后,才知道原来 vscode 和 zsh 所用的环...
2020-05-07 16:18:17 22427
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人