Сбросьте значение столбца по умолчанию с помощью GORM

# #go-gorm

Вопрос:

Есть ли в GORM способ сбросить значение столбца до значения по умолчанию? MySQL предоставляет DEFAULT ключевое слово для этого

 UPDATE table SET col = DEFAULT WHERE id = 123
 

В документации по обновлению GORM нет упоминания об обновлении столбца до значения по умолчанию. Следует ли для этого использовать необработанный SQL-конструктор?

Ответ №1:

Вы пробовали использовать теги?

Моя идея состоит в том, чтобы установить DEFAULT тег и значение как нулевое и обновить его. подобный этому:

 type Table struct {
    // other fields
    Number `sql:"DEFAULT:0"`
}

modelTable := Table{} 
// jobs and insert

// get model and prepare then update Number
modelTable.Number = null.IntFromPtr(nil)
modelTable.Update()
 

для создания нулевого значения используйте нулевой пакет.

Если это не сработает, вам следует использовать Raw sql .