mirror of
https://github.com/tangpanqing/aorm.git
synced 2025-10-15 12:20:39 +08:00
22 lines
794 B
Go
22 lines
794 B
Go
package builder
|
|
|
|
// Increment 某字段自增
|
|
func (b *Builder) Increment(field interface{}, step int) (int64, error) {
|
|
var paramList []any
|
|
paramList = append(paramList, step)
|
|
whereStr, paramList := b.handleWhere(paramList)
|
|
sqlStr := "UPDATE " + getTableNameByTable(b.table) + " SET " + getFieldName(field) + "=" + getFieldName(field) + "+?" + whereStr
|
|
|
|
return b.execAffected(sqlStr, paramList...)
|
|
}
|
|
|
|
// Decrement 某字段自减
|
|
func (b *Builder) Decrement(field interface{}, step int) (int64, error) {
|
|
var paramList []any
|
|
paramList = append(paramList, step)
|
|
whereStr, paramList := b.handleWhere(paramList)
|
|
sqlStr := "UPDATE " + getTableNameByTable(b.table) + " SET " + getFieldName(field) + "=" + getFieldName(field) + "-?" + whereStr
|
|
|
|
return b.execAffected(sqlStr, paramList...)
|
|
}
|