对于一个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文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-05
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0