一架梯子,一头程序猿,仰望星空!

GORM删除数据


1. 删除模型数据

删除模型数据一般用于删除之前查询出来的模型变量绑定的记录。
用法:db.Delete(模型变量)

//例子:
food := Food{}
//先查询一条记录, 保存在模型变量food
//等价于: SELECT * FROM `foods`  WHERE (id = '2') LIMIT 1
db.Where("id = ?", 2).Take(&food)

//删除food对应的记录,通过主键Id标识记录
//等价于: DELETE from `foods` where id=2;
db.Delete(&food)

2. 根据Where条件删除数据

用法:db.Where(条件表达式).Delete(空模型变量指针)

//等价于:DELETE from `foods` where (`type` = 5);
db.Where("type = ?", 5).Delete(&Food{})

提示:这里Delete函数需要传递一个空的模型变量指针,主要用于获取模型变量绑定的表名。 不能传递一个非空的模型变量,否则就变成删除指定的模型数据,自动在where语句加上类似id = 2这样的主键约束条件。