2024年5月7日发(作者:)
gorm column 方法
在GORM中,可以使用列(column)方法对数据库表的列进
行操作。列方法通常用于定义数据库表的列类型、长度、索引、
约束等。
以下是常见的GORM列方法:
1. Column:定义数据库列的数据类型和长度,例如:
```
type User struct {
ID int
Name string `gorm:"column:user_name;type:varchar(50)"`
}
```
上述代码中,ID列的数据类型是int,Name列的数据类型是
varchar(50)。
2. PrimaryKey:将列设置为主键,例如:
```
type User struct {
ID int `gorm:"primary_key"`
}
// 或者
(&User{}).AddPrimaryKey("id")
```
上述代码中,将ID列设置为主键。
3. AutoIncrement:指定自增长列,例如:
```
type User struct {
ID int `gorm:"primary_key;auto_increment"`
}
```
上述代码中,ID列将会自动增长。
4. Index:为列创建索引,例如:
```
type User struct {
ID int `gorm:"index"`
Name string `gorm:"index:idx_name"`
}
// 或者
(&User{}).AddIndex("idx_name", "name")
```
上述代码中,ID列和Name列都会创建索引,且Name列的索
引名称为idx_name。
5. Unique:为列设置唯一约束,例如:
```
type User struct {
ID int `gorm:"unique"`
Name string `gorm:"unique_index"`
}
// 或者
(&User{}).AddUniqueIndex("idx_name", "name")
```
上述代码中,ID列设置了唯一约束,Name列创建了唯一索引,
并且索引名称为idx_name。
6. ForeignKey:在列之间建立外键关系,例如:
```
type User struct {
ID int
RoleID int
Role Role `gorm:"foreignkey:RoleID"`
}
type Role struct {
ID int
Name string
}
```
上述代码中,User表的RoleID列与Role表的ID列建立了外
键关系。
这些是一些常见的GORM列方法,可以使用这些方法对数据
库表的列进行操作和定义。


发布评论