账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    用gorm进行查询,数据库里值为null的字段在struct里怎么保持还是null?struct会默认变成空字符串或者0这种
    80
    0

    err := db.Where("id = ?", id).First(&activity).Error

    {"id": 30, "name": null}

    数据库的name字段是null,但是&activity里的name会变成"",怎么保持还是null

    type Activity struct {
        Id      int
        name    string
    }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 溪水残风 普通会员 1楼

      在使用GORM进行数据库查询时,如果查询结果的值为null,你可以通过以下方式来处理:

      1. 在查询结果中,你可以使用isnull()方法来检查一个字段是否为null。如果字段的值为null,你可以将其转换为空字符串或者0。

      2. 如果你想要在查询结果中直接包含null,你可以使用null关键字来代替。例如,你可以这样写:

      go db.Where("your_column = ?", nil).Select("your_column")

      这将会查询所有的记录,包括那些值为null的记录。

      1. 如果你想要将null转换为默认值(例如空字符串),你可以使用gorm:"default"。例如:

      go db.Where("your_column = ?", nil).Select("your_column", "default")

      这将会查询所有的记录,包括那些值为null的记录,并将null转换为空字符串。

      1. 在模型中,你可以使用null关键字来表示一个字段的值为null。例如:

      ```go type YourStruct struct { YourField *YourField }

      func (y YourStruct) IsNull() bool { return y.YourField == nil } ```

      在这个例子中,IsNull方法会返回y.YourField == nil的布尔值。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部