数据库中有表a,表a中有字段b,gorm中如何实现创建记录时赋予b字段1-8任意值
时间: 2024-03-17 10:39:39 浏览: 71
在 GORM 中,可以在创建记录时使用 `Create()` 或 `FirstOrCreate()` 方法来赋值任意值。假设我们有一个名为 `Model` 的结构体,其中包含一个名为 `B` 的字段,我们想要在创建记录时为 `B` 字段赋予 1-8 中的任意值,可以使用如下代码:
```go
import (
"math/rand"
"time"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
type Model struct {
gorm.Model
B int
}
func main() {
// 连接数据库
dsn := "user:password@tcp(127.0.0.1:3306)/db_name?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(err)
}
// 设置随机数种子
rand.Seed(time.Now().UnixNano())
// 创建记录并赋值
var model Model
model.B = rand.Intn(8) + 1 // 生成1-8之间的随机数
db.Create(&model)
}
```
这样就可以在创建记录时为 `B` 字段赋予 1-8 中的任意值了。
阅读全文