为安全性保证、防止误操作, Update
及 Delete
方法必须带有 Where
条件才能提交执行,否则将会错误返回,错误信息如: there should be WHERE condition statement for XXX operation
。 goframe
是一款用于企业生产级别的框架,各个模块设计严谨,工程实践的细节处理得比较好。
Update
更新方法
Update
用于数据的更新,往往需要结合 Data
及 Where
方法共同使用。 Data
方法用于指定需要更新的数据, Where
方法用于指定更新的条件范围。同时, Update
方法 也支持直接给定数据和条件参数。
使用示例:
// UPDATE `user` SET `name`='john guo' WHERE name='john'
g.Model("user").Data(g.Map{"name" : "john guo"}).Where("name", "john").Update()
g.Model("user").Data("name='john guo'").Where("name", "john").Update()
// UPDATE `user` SET `status`=1 ORDER BY `login_time` asc LIMIT 10
g.Model("user").Data("status", 1).Order("login_time asc").Limit(10).Update()
// UPDATE `user` SET `status`=1 WHERE 1
g.Model("user").Data("status=1").Where(1).Update()
g.Model("user").Data("status", 1).Where(1).Update()
g.Model("user").Data(g.Map{"status" : 1}).Where(1).Update()
也可以直接给 Update
方法传递 data
及 where
参数:
// UPDATE `user` SET `name`='john guo' WHERE name='john'
g.Model("user").Update(g.Map{"name" : "john guo"}, "name", "john")
g.Model("user").Update("name='john guo'", "name", "john")
// UPDATE `user` SET `status`=1 WHERE 1
g.Model("user").Update("status=1", 1)
g.Model("user").Update(g.Map{"status" : 1}, 1)