gorm数据库外键关联和级联操作
-
gorm支持的外键关联:Belongs To、Has One、Has Many、Many To Many
参考链接 -
预加载可以使用
db.Preload(clause.Associations).Find(&users)
的方式来预加载全部,单不会预加载下级的下级,如果需要可以使用
db.Preload("Orders.OrderItems.Product").Preload(clause.Associations).Find(&users)
方式来指定预加载内容,强制多级预加载 -
gorm使用级联操作方式
gorm:"constraint:OnUpdate:NO ACTION,OnDelete:RESTRICT;
-
级联操作表述内容如下
级联配置 OnUpdate OnDelete RESTRICT 从表记录不存在时,主表才可以更新 从表记录不存在时,主表才可以删除 CASCADE 更新主表时自动更新从表 删除主表时自动删除从表 SET NULL 更新主表时自动更新从表值为NULL 删除主表时自动更新从表为NULL NO ACTION 同 RESTRICT 同 RESTRICT 注:不写默认为 RESTRICT