Sql 使用gorm插入数据时,检查不存在

Sql 使用gorm插入数据时,检查不存在,sql,go,go-gorm,Sql,Go,Go Gorm,我正在使用gorm。我想在不存在相同值的情况下插入值 就像原始sql一样 插入学生名字、姓氏 选择“新姓氏”、“新姓氏” 来自双重 不存在的地方 选择1 从表\u名称 其中firstname='NEW firstname'和lastname='NEW lastname' 限值1; 如何使用gorm实现此功能 类型学生结构{ 名字字符串 姓氏字符串 } 函数插入{ 斯图:=学生{fir,la} 如果res:=DB.Create&stu.Orsome条件;res.Error!=nil{ logrus

我正在使用gorm。我想在不存在相同值的情况下插入值

就像原始sql一样

插入学生名字、姓氏 选择“新姓氏”、“新姓氏” 来自双重 不存在的地方 选择1 从表\u名称 其中firstname='NEW firstname'和lastname='NEW lastname' 限值1; 如何使用gorm实现此功能

类型学生结构{ 名字字符串 姓氏字符串 } 函数插入{ 斯图:=学生{fir,la} 如果res:=DB.Create&stu.Orsome条件;res.Error!=nil{ logrus.Printlnres.Error } } 当找到相同的值时,我需要一条消息或错误消息

获取第一条匹配的记录,或使用给定条件初始化一条新记录,仅适用于struct、map条件

db.FirstOrCreate(&user, User{Name: "non_existing"})