我的需求是保存一条记录时:
1. 这个记录如果存在则更新返回这个已存在记录的id
2. 这个记录如果不存在则插入记录,并返回这个新增记录的自增 id
因为我们一般这么写程序
userid, err := user.Upsert(xxxx)
if err != nil {
return err
}
roles.Upsert(userid, xxxxxx)
roles.Upsert(userid, xxxxxx)
roles.Upsert(userid, xxxxxx)
roles.Upsert(userid, xxxxxx)
插入数据后,用SELECT IDENT_CURRENT(XXXX) 函数, 是不能满足我的要求的, 因为这个记录可以是很久以前插入的
可以用merge into语句,如果该记录已存在就更新,不存在则插入。