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列方法,可以使用这些方法对数据

库表的列进行操作和定义。