【问题标题】:go-GORM cannot insert valuego-GORM 无法插入值
【发布时间】:2020-02-11 06:47:32
【问题描述】:

对不起,我的英语不好。

我使用db.Create() 在我的代码中插入值。

这是我的模型

type users struct {
    id       int        `json:"id"`
    name     string     `json:"name"`
    email    string     `json:"email"`
    password string     `json:"password" `
    website  string     `json:"website" `
    nickname string     `json:"nickname"`
    grade    string     `json:"grade"`
    bracket  string     `json:"bracket"`
    banned   bool       `json:"banned"`
    verified bool       `json:"verified"`
    admin    bool       `json:"admin"`
    joined   *time.Time `json:"joined"`
}

和代码

    db.Create(&users{
        name:     name,
        email:    strings.ToLower(email),
        password: password,
        grade:    number,
    })

执行后sql出错。

[2020-02-11 14:29:07]  [0.32ms]  INSERT INTO `users` VALUES()  

其他操作就好了,比如First(),Where()

我尝试改用NewRecord()Save(),但结果是一样的。

请告诉我我的代码哪里出错了。

【问题讨论】:

    标签: sql database go go-gorm


    【解决方案1】:

    看来您正在使用gorm 作为 ORM 框架。如果是这样,则必须导出模型属性。你必须像这样定义struct

    type users struct {
        Id       int        `json:"id"`
        Name     string     `json:"name"`
        Email    string     `json:"email"`
        Password string     `json:"password" `
        Website  string     `json:"website" `
        Nickname string     `json:"nickname"`
        Grade    string     `json:"grade"`
        Bracket  string     `json:"bracket"`
        Banned   bool       `json:"banned"`
        Verified bool       `json:"verified"`
        Admin    bool       `json:"admin"`
        Joined   *time.Time `json:"joined"`
    }
    

    【讨论】:

    • 帮了大忙了!!!我是一个 golang 初学者,不熟悉约定。再次感谢!
    猜你喜欢
    • 2018-01-08
    • 2020-05-26
    • 2020-07-19
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    相关资源
    最近更新 更多