mirror of
https://github.com/tangpanqing/aorm.git
synced 2025-10-13 11:33:55 +08:00
22 lines
730 B
Go
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...)
|
|
}
|