防止null(或db中的空字符串值)

时间:2017-04-24 12:04:41

标签: database go go-gorm notnull

我在Go应用程序中使用PostgreSQL和GORM。

我认为使用sql:"not null"的sql选项卡可以防止空条目,但是当使用字符串类型初始化结构时,它默认为一个空字符串,它与null不同数据库。

我想知道是否有办法防止在结构定义中发生这种情况,因此我不必在应用程序代码的所有级别严格执行它。

1 个答案:

答案 0 :(得分:1)

您可以解决这样的问题,即通过using default: nullnot null约束一起防止''(空)字符串插入数据库。因此,如果Struct字段值为空,它将被视为默认值null,并且gorm会出错。

  

gorm:"unique;not null;type:varchar(100);default:null"

示例是:

type User struct {
    gorm.Model
    Email  string    `gorm:"unique;not null;type:varchar(100);default:null"`

}

User.Email的SO gorm将出错。