首页 > 解决方案 > 根据 gorm 中设置的 if 条件更新记录

问题描述

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

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

标签: mysqlgo-gorm

解决方案


我已经使用

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)

推荐阅读