登录
首页 >  Golang >  Go问答

使用 gorm 原生 SQL 生成器获取更新操作的结果

来源:stackoverflow

时间:2024-02-16 16:00:23 367浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《使用 gorm 原生 SQL 生成器获取更新操作的结果》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我正在尝试将更新后的帖子放入以下函数中的结构中

func updatepost(c *gin.context) {
    id := c.param("id")

    var body struct {
        title    string
        posttext string
        img string
    }
    c.bind(&body)

    var post models.post

    initializers.db.raw("update posts set title = ?, post_text = ?, img = ? where id = ?", body.title, body.posttext, body.img, id).scan(&post)
    c.json(http.statusok, gin.h{
        "post": post,
    })
}

我的帖子已在数据库中成功更新,但是 即使使用 scan() 后,我的结构看起来像这样

"post": {
    "ID": 0,
    "title": "",
    "postText": "",
    "img": "",
    "userName": "",
    "likedBy": null,
    "createdBy": 0,
}

到这里怎么走?


正确答案


刚刚错过了 WHERE id = 后的 RETURNING * ?就像@rahmat 评论的那样。将此留给将来尝试为 gorm 原始 SQL 构建器找到正确语法的人

到这里,我们也就讲完了《使用 gorm 原生 SQL 生成器获取更新操作的结果》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>