Go-GORM查询MySQL的一点儿心得~

161 篇文章 12 订阅

刚开始用GORM,定义了一个struct结构体来定义需要访问的数据库字段,之后用Where设置了查询条件,最后用Find获取全部内容。

总的来说呢,执行的很成功,数据也都搂出来了,因为涉及到公司机密,所以具体是哪个字段,咱这里就不赘述了。

仔细看了一下呢,发现数据细节出现了问题,数据集中所有是int的字段的值全部为0。

这着实让我挠头了。

struct的tag按网上的一大堆资料改了半天,运行结果还是一样,不由得不怀疑这个tag没有生效。

最后验证了下,不关人家tag的事儿。

咱这里就只说了哈,出现我这种情况的原因就是定义结构体struct的时候的字段名字没有写对。。。

很坑吧,但是没招儿,比如数据库中的字段名称taskid、user这两个字段。

根据这个举个例子来说明一下:

type TrainTaskRule struct {
	TaskID int
	User   string
}

按上面这个结构体struct来find的话,taskid获取的值始终为0值,得按如下格式定义:

type TrainTaskRule struct {
	Taskid int
	User   string
}

来总结一下这个字段名称的定义规则:

  1. 必须跟数据库字段名称保持一致。
  2. 字段名只有一个单词(不管是不是驼峰,只要不是下划线连接的都可认为时一个单词)时可首字母大写。
  3. 字段名有多个单词时,可将每个单词的首字母大写连在一起定义(apple_ban可定义为AppleBan)。

有什么疑问的可以私聊我哈。

扫码关注公众号,获取更多优质内容。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luyaran

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值