gpt4 book ai didi

go - JOIN 使用 sqlx 导致 'missing destination name'

转载 作者:数据小太阳 更新时间:2023-10-29 03:04:23 28 4
gpt4 key购买 nike

我的查询在 mysql 上运行良好并返回预期结果,但是 sqlx难以处理:

var jokes []model.Joke
err := shared.Dbmap.Select(&jokes, "SELECT * FROM joke INNER JOIN jokevote ON joke.id=jokevote.joke_id AND jokevote.vote=? AND joke.user_id=?", 1, userId)
if err != nil {
log.Println(err)
}

在运行时,我没有得到任何结果,但终端中出现了这条错误消息:

missing destination name joke_id

查询单个表时没有这个问题。

所以我想知道这里出了什么问题以及如何解决它?

更新:以下是结构:

type Joke struct {
ID int `db:"id" json:"id"`
UserID int `db:"user_id" json:"user_id"`
Title string `db:"title" json:"title"`
Content string `db:"content" json:"content"`

...
}

type JokeVote struct {
ID int `db:"id" json:"id"`
JokeID int `db:"joke_id" json:"joke_id"`
UserID int `db:"user_id" json:"user_id"`
Vote int `db:"vote" json:"vote"`
}

最佳答案

当您执行“SELECT * FROM joke INNER JOIN jokevote”时,您将从 joke 和 jokevote 表中获得列。尝试查询“SELECT joke.* FROM joke INNER JOIN jokevote”以仅从笑话表中获取列。

关于go - JOIN 使用 sqlx 导致 'missing destination name',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45216783/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com