登录
首页 >  Golang >  Go问答

创建记录后是否必须保存记录才能使用 Gorm 将其保存在 SQLITE 中?

来源:stackoverflow

时间:2024-03-31 14:09:33 109浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《创建记录后是否必须保存记录才能使用 Gorm 将其保存在 SQLITE 中?》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

我正在使用带有 Gorm 的 SQLITE 数据库,需要保存新记录。

我遇到的问题是,当我创建记录并重新启动程序时,在数据库中找不到该记录。创建记录后是否需要保存?

Gorm 文档中给出的示例程序不保存记录。


正确答案


您不必再 save 已传递给 create 的记录。

您可以通过运行以下命令来测试:

main.go

package main

import (
    "fmt"
    "gorm.io/driver/sqlite"
    "gorm.io/gorm"
)

type product struct {
    gorm.model
    code  string
    price uint
}

func main() {
    db, err := gorm.open(sqlite.open("test.db"), &gorm.config{})
    if err != nil {
        panic("failed to connect database")
    }
    db.automigrate(&product{})

    var product product
    if db.first(&product).error == gorm.errrecordnotfound {
        fmt.println("no product record, creating now...")
        db.create(&product{code: "d42", price: 100})
    } else {
        fmt.printf("product record found: %v", product)
    }
}
go run main.go
no product record, creating now...
go run main.go
product record found: { ... }

今天关于《创建记录后是否必须保存记录才能使用 Gorm 将其保存在 SQLITE 中?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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