我很难理解如何使用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,我需要取消它: from 12to 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。
怎么做?
侃侃无极
慕码人2483693
相关分类