GORM 字段值不重复
时间: 2023-07-29 21:07:12 浏览: 143
不重复值操作(很实用)
如果你使用 GORM ORM 框架来操作数据库,那么可以通过设置 tag 来实现字段值不重复的约束。
在定义结构体时,可以在字段的 tag 中添加 `unique` 标签,表示该字段的值不重复。例如:
```go
type User struct {
ID uint `gorm:"primary_key"`
Name string `gorm:"unique"`
Email string `gorm:"unique"`
Password string
}
```
在这个例子中,`Name` 和 `Email` 字段都被标记为 `unique`,表示这两个字段的值都不重复。
当使用 `Create` 或 `Save` 等方法向数据库中插入或更新数据时,如果某个字段的值已经存在于数据库中,那么会返回一个错误。你可以根据返回的错误信息来判断具体是哪个字段的值重复了。
除了使用 `unique` 标签外,还可以使用 `index` 标签来给字段创建索引,以提高查询效率。例如:
```go
type User struct {
ID uint `gorm:"primary_key"`
Name string `gorm:"index"`
Email string `gorm:"index"`
Password string
}
```
在这个例子中,`Name` 和 `Email` 字段都被标记为 `index`,表示会为这两个字段创建索引,以提高查询效率。
阅读全文