Gorm 创建

创建对象

通过数据指针创建

不带 default(会设置默认值)

type User struct {
	gorm.Model
	Name     string
	Age      uint
	Birthday *time.Time
	Nickname *string
	Address  string
}

func TestCreate(t *testing.T) {
	time := time.Now()
	user := User{
		Name:     "tiecheng",
		Age:      18,
		Birthday: &time,
	}

	DB.Create(&user)
}

输出 SQL

可以看到 Nickname 被设置为了 NULL,因为用了指针 *string ,而 Address 被设置成了 ""

default 设置

改变 Address 字段,`gorm:"default:hangzhou"` 如下:

输出 SQL

Address 的插入默认值已经变成了 "hangzhou"

高端插入(Upsert)

输出 SQL

项目实战

主键回填失败

primaryKey

指定列为主键

修改 Base

输出 SQL打印对不上

最后更新于

这有帮助吗?