golang sqlx查询报错: missing destination name xx in xxx

在使用Go语言的sqlx库进行数据库查询时,遇到一个耗时一晚的坑:由于结构体字段的tag中多了一个制表符,导致反射映射失败,某些字段无法正确填充。修正tag后,问题解决,数据成功存入结构体slice。注意检查字段tag的db名称,避免类似低级错误。
摘要由CSDN通过智能技术生成

sqlx查询多条记录,存入一个结构体slice中,尝试了单独select某一个字段,大多数报missing destination name xx in xxx这样的错,有些字段又不报错,一路调试跳进去看,最终找到问题:
(也有很多人因为tag中 db:msgId)漏掉了这两个引号导致上述问题
在这里插入图片描述
在这里插入图片描述
发现Message这个结构体中,那五个有红圈的字段,在反射时都没有找到映射的db字段名,原来是写tag时,多敲了一个\t

去掉多余的\t后,就可以正确将结果存入slice了。
在这里插入图片描述
他🐎的,一个制表符折腾了我一个晚上,太坑了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值