Gorm 操作指导
在使用 gorm 时,存在一些坑,这些坑如果不注意就极易影响到整个数据库的数据,故以此文作为记录来作为使用的指导。
Create record
gorm 新建数据的方法有 Create()
方法,但不能实现部分插入。它采用整体插入,struct 中声明变量都会转化为 sql 语句中的字段插入,对于未给赋值的变量采用对应类型的零值来插入。
具体例子如下:
// 声明 Users 结构
type Users struct {
ID uint
Email string
Passwords string `gorm:"column:password"`
IsFemale int // 数据库中默认值为 1
IsActived int // 数据库中默认值为 1
}
user1 := {
ID: 6,
Email: "123",
}
user2 := {
Email: "test",
Passwords: "123",
}
当使用 Create()
方法来插入数据时
db.Create(&user2)
// generate sql is
// UPDATE `users` SET `email` = '123', `password` = '', `is_female` = '0', `is_actived` = '0' WHERE `users`.`id` =