-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
怎么获取刚刚Create 的结果。 #1520
Comments
You probably want this? type Player struct {
ID uint `gorm:"primary_key"`
Name string `gorm:"not null;unique"`
}
err := DB.Create(&Player{
Name: "Byakuya Kuchiki",
}).Error
if nil != err {
panic(err)
}
var player Player
err = DB.Limit(1).Find(&player).Error
if nil != err {
panic(err)
} |
使用*DB.Save()方法 |
Thx,Allendar. |
db.Create(&player) |
db.Create(&player) 后可以直接返回 player.ID |
|
type User struct { |
如果ID是自增的,怎么办? |
你不用填 player.Id, 插入数据库, 数据库会自动进行自增长, 最后写入到 player.Id |
只返回创建数据的ID吗?一般来说创建或者更新之后需要那一条创建或者更新的数据返回使用。 |
这里不会将这个条目所有的数据返回到结构体里, 例如 player表中 age default 18, 然后 db.Create(&player), player.Id 会被赋值, 但是 player.Age 等参数是不会被赋值的, 除非重新查询 |
@jonsnow47 如果你在定义的时候表明这个有default值的话,GORM 会自动查询 age 的 |
Hello @DonaldY , I try to use |
大概是这样的需求,创建玩家角色name是唯一的。
type Player struct {
ID uint
gorm:"primary_key;AUTO_INCREMENT"
Name string
sql:"not null;unique"
...
}
var player Player
player = Player{Name: "TestName"}/// 这里是不是有问题了,id好像默认赋值成0了
玩家提供name,然后我调用db.Create(player).
我怎么知道是不是name重复了没创建成功,还是已经创建好了,如果成功了,我要获取我创建出来的player的id或者那个player所有信息也行。
The text was updated successfully, but these errors were encountered: