diff --git a/engine.go b/engine.go index 4bcac9e1..ddfedff2 100644 --- a/engine.go +++ b/engine.go @@ -358,10 +358,10 @@ func (engine *Engine) In(column string, args ...interface{}) *Session { } // Method Inc provides a update string like "column = column + ?" -func (engine *Engine) Inc(column string, arg interface{}) *Session { +func (engine *Engine) Incr(column string, arg ...interface{}) *Session { session := engine.NewSession() session.IsAutoClose = true - return session.Inc(column, arg) + return session.Incr(column, arg...) } // Temporarily change the Get, Find, Update's table diff --git a/session.go b/session.go index 8a3a5149..231f18c5 100644 --- a/session.go +++ b/session.go @@ -129,8 +129,8 @@ func (session *Session) In(column string, args ...interface{}) *Session { } // Method In provides a query string like "count = count + 1" -func (session *Session) Inc(column string, arg interface{}) *Session { - session.Statement.Inc(column, arg) +func (session *Session) Incr(column string, arg ...interface{}) *Session { + session.Statement.Incr(column, arg...) return session } diff --git a/statement.go b/statement.go index 5b45d1d6..9330a14d 100644 --- a/statement.go +++ b/statement.go @@ -473,9 +473,13 @@ func (statement *Statement) Id(id interface{}) *Statement { } // Generate "Update ... Set column = column + arg" statment -func (statement *Statement) Inc(column string, arg interface{}) *Statement { +func (statement *Statement) Incr(column string, arg ...interface{}) *Statement { k := strings.ToLower(column) - statement.incColumns[k] = arg + if len(arg) > 0 { + statement.incColumns[k] = arg[0] + } else { + statement.incColumns[k] = 1 + } return statement }