在我的数据库中,我有几个表:
团队
| Field | Type |
| ----- | ------- |
| ID | int |
| Name | varchar |
夹具
| Field | Type |
| ----- | ---- |
| ID | int |
| Home | int |
| Away | int |
也许很明显,和 列是 s 的外键。HomeAwayTeam
在Go中,我将其定义为以下类型:
type Team struct {
ID int64 `json:"id" db:"id"`
Name string `json:"name" db:"name"`
}
type Fixture struct {
ID int64 `json:"id" db:"id"`
Home int64 `json:"home" db:"home"`
Away int64 `json:"away" db:"away"`
}
我希望能够从数据库中读取一段夹具,如下所示:
var fs []Fixture
err := sqlx.DB.SelectContext(ctx, &fs, `SELECT * FROM fixture`)
但这会导致错误:
Scan error on column index 2, name "home": unsupported Scan, storing driver.Value type int64 into type *teams.Team
我在这里读过关于嵌入的内容,但无法真正看到这有帮助,因为两者和同一类型,所以会有命名冲突。HomeAway
任何帮助非常感谢
宝慕林4294392
largeQ
随时随地看视频慕课网APP
相关分类