考虑下表
CREATE TABLE foo (
id INT PRIMARY KEY
)
CREATE TABLE bar (
id INT PRIMARY KEY
)
CREATE TABLE foo_bar_members (
foo_id INT NOT NULL REFERENCES foo(id) ON DELETE CASCADE ON UPDATE CASCADE,
bar_id INT NOT NULL REFERENCES bar(id) ON DELETE CASCADE ON UPDATE CASCADE,
PRIMARY KEY (foo_id, bar_id)
)
foo_bar_membersfoo是连接和的关系表bar。查看foo作为 的父级bar。我有以下 Go 结构:
type Foo struct {
ID int `db:"id"`
BarIDs []int
}
BarIDs是与bar.id此相关联的一部分。我想查询这样的事情:foofoo.id
SELECT * FROM foo f INNER JOIN foo_bar_members fbm ON f.id = fbm.foo_id WHERE f.id = $1
但这个查询只是一个例子。显然这不会扫描到Foo.BarIDs. 我总是可以做两个单独的查询,但我想知道是否有更好的方法。我正在使用sqlx。
慕哥6287543
相关分类