广告
返回顶部
首页 > 资讯 > 后端开发 > GO >Sqlx 连接具有相同字段的表
  • 686
分享到

Sqlx 连接具有相同字段的表

2024-04-05 00:04:00 686人浏览 八月长安
摘要

对于一个golang开发者来说,牢固扎实的基础是十分重要的,编程网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《sqlx 连接具有相同字段的表》,主要介绍了,希望对大家的知识积累有所帮助

对于一个golang开发者来说,牢固扎实的基础是十分重要的,编程网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《sqlx 连接具有相同字段的表》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我正在将 Go 1.17 与 sqlx 结合使用,但我不明白如何正确加入我的表。

这是我的结构(我的连接不是逻辑,我只是​​用 sqlx 测试连接)

表格相册:

package album

import ".../api/v1/movie"

type album struct {
    id      string  `JSON:"id"`
    title   string  `json:"title"`
    artist  string  `json:"artist"`
    price   float64 `json:"price"`
    movieid int     `json:"movie_id" db:"movie_id"`
    movie.movie
}

桌面电影:

package movie

type movie struct {
    id         string `json:"id"`
    year       uint16 `json:"year"`
    rentnumber uint32 `json:"rent_number" db:"rent_number"`
    title      string `json:"title"`
    author     string `json:"author"`
    editor     string `json:"editor"`
    index      string `json:"index"`
    bib        string `json:"bib"`
    ref        string `json:"ref"`
    cat1       string `json:"cat_1" db:"cat_1"`
    cat2       string `json:"cat_2" db:"cat_2"`
}

这就是我加入的方式:

albums := []Album{}
r.db.Select(&albums, "SELECT * FROM album a INNER JOIN movie m ON (m.id=a.movie_id)")

问题是这两个表具有相同的 id 字段,因此专辑 id 被电影 id 覆盖,我丢失了它。

如何忽略电影 id 字段(因为我在 movie_id 字段中获取了它,并保留专辑 id 的字段 id


正确答案


您可以为您的 id 字段之一提供 id 标记,例如:

type album struct {
    id      string  `json:"id" id:"album_id"`
    title   string  `json:"title"`
    artist  string  `json:"artist"`
    price   float64 `json:"price"`
    movie.movie
}

然后进行查询,将 id 字段别名为 album_id,如下所示:

SELECT movie.id as id, album.id as album_id, ... FROM album ...

请记住,您现在还需要在命名查询中使用此列名称。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注编程网公众号,一起学习编程~

您可能感兴趣的文档:

--结束END--

本文标题: Sqlx 连接具有相同字段的表

本文链接: https://www.lsjlt.com/news/596873.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作