根据 gorm 中的 set if 条件更新记录

updating record based on set if condition in gorm

我正在尝试更新我的 Go 项目中的记录,当尝试这样做时,需要根据条件进行更新。我在 mysql 中找到了一种方法,但该查询需要转换为 gorm。这是 mysql 查询:

update table_name SET field_name1 = IF (field_name2 = 2, 1 , 0) where field_name3 = 6;

我用

完成了这个
query := fmt.Sprintf(`UPDATE table_name SET field_name1 = IF (field_name2 = "%s", 1 , 0) where field_name3 = "%s"`, field_value1, field_value2)
    
s.DB.Exec(query)