golang gorm update or insert

在gorm中,想要实现“如果存在就更新,否则就插入”的需求,可以通过以下方式实现

		db.Clauses(clause.OnConflict{
			Columns:   []clause.Column{{Name: "id"}}, //  这里的列必须是唯一的,比如主键或是唯一索引
			DoUpdates: clause.AssignmentColumns([]string{"num", "title"}), // 更新哪些字段
		}).Create(&User{
			Desc: "ee",
			Title: "aa"
		})

参考


版权声明:本文为goddnss原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。