为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
三国纷争 2022-10-10 15:40:03
我正在使用带有 Gorm 的 SQLITE 数据库,需要保存一条新记录。我遇到的问题是,当我创建记录并重新启动程序时,在数据库中找不到该记录。创建后是否需要保存记录?Gorm 文档中给出的示例程序不保存记录。
查看完整描述

1 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

您不必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: { ... }


查看完整回答
反对 回复 2022-10-10
  • 1 回答
  • 0 关注
  • 147 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号