登录
首页 >  Golang >  Go问答

使用 GORM 创建数据库表的方法

来源:stackoverflow

时间:2024-02-29 15:24:22 232浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《使用 GORM 创建数据库表的方法》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

问题内容

我试图使用 gorm 创建用户表,但由于某种原因它一直向我抛出此错误。

2022/08/29 01:31:58 /app/infra/database/db.go:26 error 1075: incorrect table definition; there can be only one auto column and it must be defined as a key

[0.156ms] [rows:0] alter table `users` add `id` bigint unsigned auto_increment

我尝试不使用 gorm.model,但仍然抛出错误。这是我的用户模型:

type user struct {
    gorm.model
    name string
}

这是我的初始化:

dsn := fmt.Sprintf("%s:%s@(%s:3306)/%s?charset=utf8&parseTime=True",
        os.Getenv("DB_USERNAME"),
        os.Getenv("DB_PASSWORD"),
        os.Getenv("DB_URL"),
        os.Getenv("DB_NAME"),
    )

    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
    if err != nil {
        log.Print(err)
        panic("error connecting to the database")
    }

    db.AutoMigrate(&user.User{})
    return db, nil

很确定我这样做是正确的,但如果你看到一些奇怪的东西,请告诉我,我只是在学习如何使用这个 orm


正确答案


删除旧表将消除错误。

理论要掌握,实操不能落!以上关于《使用 GORM 创建数据库表的方法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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