dtdvbf37193 2018-12-06 16:16
浏览 204
已采纳

在struct标记中使用表名称时,SQLX“缺少目标名称”

The issue is that when I use struct tags with an object, they do not work properly. I've worked on projects before that have done the same thing but have had no issue, but I can't figure out why.

Example:

this does not work:

type Category struct {  
   ID          int            `json:"id" db:"category.id"`  
   Name        string         `json:"name" db:"category.name"`   
   Description string         `json:"description" db:"category.description"` 
}

error received: missing destination name id in *[]Category

this works fine:

type Category struct {  
   ID          int            `json:"id" db:"id"`   
   Name        string         `json:"name" db:"name"`    
   Description string         `json:"description" db:"description"` 
}

query:

result := []Category{}
query := `
    SELECT category.id, category.name, category.description FROM category;
    `
err := sqlx.Select(db, &result, query)

Running the query in a SQL editor works just fine. I also have worked on a proprietary project where prepending the table name to the tag works fine but for whatever reason I can't seem to get it going with this.

Appreciate the help,

EDIT:

using mysql

  • 写回答

1条回答 默认 最新

  • dongluo6343 2018-12-07 20:29
    关注

    The mistake was actually made in the connection step!

    I needed to add columnsWithAlias=true to the connection parameters and the code worked fine.

    Thanks to RayfenWindspear for the tip that mysql doesn't send column names by default.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元