猿问

在结构标记中使用表名时出现 SQLX“缺少目标名称”

问题是当我对对象使用结构标签时,它们无法正常工作。我以前做过项目,做过同样的事情,但没有遇到任何问题,但我不明白为什么。


例子:


这不起作用:


type Category struct {  

   ID          int            `json:"id" db:"category.id"`  

   Name        string         `json:"name" db:"category.name"`   

   Description string         `json:"description" db:"category.description"` 

}

收到错误: missing destination name id in *[]Category


这很好用:


type Category struct {  

   ID          int            `json:"id" db:"id"`   

   Name        string         `json:"name" db:"name"`    

   Description string         `json:"description" db:"description"` 

}

询问:


result := []Category{}

query := `

    SELECT category.id, category.name, category.description FROM category;

    `

err := sqlx.Select(db, &result, query)

在 SQL 编辑器中运行查询工作得很好。我还从事过一个专有项目,在该项目中,将表名添加到标签之前效果很好,但无论出于何种原因,我似乎都无法做到这一点。


慕哥6287543
浏览 161回答 1
1回答

元芳怎么了

错误其实是在连接这一步!你需要添加columnsWithAlias=true连接参数并且代码运行良好。
随时随地看视频慕课网APP

相关分类

Go
我要回答