Files
aorm/builder/increment.go
tangpanqing 75415ac229 update
2023-01-12 10:42:28 +08:00

22 lines
730 B
Go

package builder
// Increment 某字段自增
func (b *Builder) Increment(field interface{}, step int) (int64, error) {
var vars []any
vars = append(vars, step)
whereStr, vars := b.handleWhere(vars)
query := "UPDATE " + getTableNameByTable(b.table) + " SET " + getFieldName(field) + "=" + getFieldName(field) + "+?" + whereStr
return b.execAffected(query, vars...)
}
// Decrement 某字段自减
func (b *Builder) Decrement(field interface{}, step int) (int64, error) {
var vars []any
vars = append(vars, step)
whereStr, vars := b.handleWhere(vars)
query := "UPDATE " + getTableNameByTable(b.table) + " SET " + getFieldName(field) + "=" + getFieldName(field) + "-?" + whereStr
return b.execAffected(query, vars...)
}