Мне трудно понять, как обнулить sh поле модели, используя go -pg и UpdateNotZero()
.
Пример:
type Player struct {
ID int
CreatedAt time.Time `pg:"default:now(),notnull"`
UpdatedAt time.Time
AccountID *int
}
Допустим, у меня сейчас есть этот плеер:
+----+------------+------------+------------+
| ID | created_at | updated_at | account_id |
+----+------------+------------+------------+
| 1 | 2020-06-16 | NULL | 12 |
+----+------------+------------+------------+
в моем GO коде мне нужно «удалить» AccountID
, мне нужно обнулить sh это: от 12
до NULL
.
Если я использую update()
вот так:
...
player.AccountID = nil
_, err := db.Model(player).WherePK().Update()
, это дает мне ошибку:
ERROR #23502 null value in column \"created_at\" violates not-null constraint"
Если я использую UpdateNotZero()
как это:
...
player.AccountID = nil
_, err := db.Model(player).WherePK().UpdateNotZero()
, AccountID
не обновляется вообще.
Как это сделать?
Связанные вопросы Думаю: