Documentation ¶
Index ¶
- Variables
- func AND(stmts ...Statement) *whereStmt
- func Alias(sql interface{}, alias string) *aliasStmt
- func Case(what ...interface{}) *caseStmt
- func Find(s Executor, table string, dest interface{}, limit, offset int64, w Statement) (err error)
- func FindAll(s Executor, table string, dest interface{}, w Statement) (err error)
- func FindOne(s Executor, table string, dest interface{}, w Statement) (err error)
- func GetFields(dest interface{}) (result []string, err error)
- func NewSQL(driver, url string, maxOpen, maxIdle int) (db *sql.DB, err error)
- func NewStatement(sql interface{}, args ...interface{}) *statement
- func OR(stmts ...Statement) *whereStmt
- func OnDuplicateKeyUpdate() *onDuplicateKeyUpdateStmt
- func SQL(sql string, args ...interface{}) *statement
- func Scan(rows *sql.Rows, dest interface{}) (err error)
- func SetLogger(l Logger)
- func UseDialect(d dialect)
- type Args
- type Builder
- type DB
- type DeleteBuilder
- func (this *DeleteBuilder) Alias(alias ...string) *DeleteBuilder
- func (this *DeleteBuilder) AppendToSQL(w io.Writer, args *Args) error
- func (this DeleteBuilder) Exec(s Executor) (sql.Result, error)
- func (this DeleteBuilder) ExecContext(ctx context.Context, s Executor) (result sql.Result, err error)
- func (this *DeleteBuilder) Join(join, table, suffix string, args ...interface{}) *DeleteBuilder
- func (this *DeleteBuilder) LeftJoin(table, suffix string, args ...interface{}) *DeleteBuilder
- func (this *DeleteBuilder) Limit(limit int64) *DeleteBuilder
- func (this *DeleteBuilder) Offset(offset int64) *DeleteBuilder
- func (this *DeleteBuilder) Options(options ...string) *DeleteBuilder
- func (this *DeleteBuilder) OrderBy(sql ...string) *DeleteBuilder
- func (this *DeleteBuilder) Prefix(sql string, args ...interface{}) *DeleteBuilder
- func (this *DeleteBuilder) RightJoin(table, suffix string, args ...interface{}) *DeleteBuilder
- func (this *DeleteBuilder) Suffix(sql interface{}, args ...interface{}) *DeleteBuilder
- func (this *DeleteBuilder) Table(table string, args ...string) *DeleteBuilder
- func (this *DeleteBuilder) ToSQL() (string, []interface{}, error)
- func (this *DeleteBuilder) Type() string
- func (this *DeleteBuilder) USING(sql string) *DeleteBuilder
- func (this DeleteBuilder) UseDialect(d dialect)
- func (this *DeleteBuilder) Where(sql interface{}, args ...interface{}) *DeleteBuilder
- type Eq
- type Executor
- type InsertBuilder
- func (this *InsertBuilder) AppendToSQL(w io.Writer, args *Args) error
- func (this *InsertBuilder) Clone() *InsertBuilder
- func (this *InsertBuilder) Column(column string) *InsertBuilder
- func (this *InsertBuilder) Columns(columns ...string) *InsertBuilder
- func (this InsertBuilder) Exec(s Executor) (sql.Result, error)
- func (this InsertBuilder) ExecContext(ctx context.Context, s Executor) (result sql.Result, err error)
- func (this *InsertBuilder) Options(options ...string) *InsertBuilder
- func (this *InsertBuilder) Prefix(sql string, args ...interface{}) *InsertBuilder
- func (this *InsertBuilder) SET(column string, value interface{}) *InsertBuilder
- func (this *InsertBuilder) Select(sb *SelectBuilder) *InsertBuilder
- func (this *InsertBuilder) Suffix(sql interface{}, args ...interface{}) *InsertBuilder
- func (this *InsertBuilder) Table(table string) *InsertBuilder
- func (this *InsertBuilder) ToSQL() (string, []interface{}, error)
- func (this *InsertBuilder) Type() string
- func (this *InsertBuilder) UseDialect(d dialect)
- func (this *InsertBuilder) Values(values ...interface{}) *InsertBuilder
- type Logger
- type NotEq
- type Preparer
- type RawBuilder
- func (this *RawBuilder) Append(sql string, args ...interface{}) *RawBuilder
- func (this *RawBuilder) AppendToSQL(w io.Writer, args *Args) error
- func (this RawBuilder) Exec(s Executor) (sql.Result, error)
- func (this RawBuilder) ExecContext(ctx context.Context, s Executor) (result sql.Result, err error)
- func (this *RawBuilder) Format(format string, args ...interface{}) *RawBuilder
- func (this *RawBuilder) Params(args ...interface{}) *RawBuilder
- func (this RawBuilder) Query(s Executor) (*sql.Rows, error)
- func (this RawBuilder) QueryContext(ctx context.Context, s Executor) (*sql.Rows, error)
- func (this RawBuilder) Scan(s Executor, dest interface{}) (err error)
- func (this RawBuilder) ScanContext(ctx context.Context, s Executor, dest interface{}) (err error)
- func (this RawBuilder) ScanRow(s Executor, dest ...interface{}) (err error)
- func (this RawBuilder) ScanRowContext(ctx context.Context, s Executor, dest ...interface{}) (err error)
- func (this *RawBuilder) ToSQL() (string, []interface{}, error)
- func (this *RawBuilder) Type() string
- func (this RawBuilder) UseDialect(d dialect)
- type SQLValue
- type SelectBuilder
- func (this *SelectBuilder) AppendToSQL(w io.Writer, args *Args) error
- func (this *SelectBuilder) Clone() *SelectBuilder
- func (this *SelectBuilder) Count(args ...string) *SelectBuilder
- func (this *SelectBuilder) FoundRows(args ...string) *SelectBuilder
- func (this *SelectBuilder) From(table string, args ...string) *SelectBuilder
- func (this *SelectBuilder) FromStmt(stmt Statement) *SelectBuilder
- func (this *SelectBuilder) GroupBy(groupBys ...string) *SelectBuilder
- func (this *SelectBuilder) Having(sql interface{}, args ...interface{}) *SelectBuilder
- func (this *SelectBuilder) Join(join, table, suffix string, args ...interface{}) *SelectBuilder
- func (this *SelectBuilder) LeftJoin(table, suffix string, args ...interface{}) *SelectBuilder
- func (this *SelectBuilder) Limit(limit int64) *SelectBuilder
- func (this *SelectBuilder) Offset(offset int64) *SelectBuilder
- func (this *SelectBuilder) Options(options ...string) *SelectBuilder
- func (this *SelectBuilder) OrderBy(sql ...string) *SelectBuilder
- func (this *SelectBuilder) Prefix(sql string, args ...interface{}) *SelectBuilder
- func (this SelectBuilder) Query(s Executor) (*sql.Rows, error)
- func (this SelectBuilder) QueryContext(ctx context.Context, s Executor) (*sql.Rows, error)
- func (this *SelectBuilder) RightJoin(table, suffix string, args ...interface{}) *SelectBuilder
- func (this SelectBuilder) Scan(s Executor, dest interface{}) (err error)
- func (this SelectBuilder) ScanContext(ctx context.Context, s Executor, dest interface{}) (err error)
- func (this SelectBuilder) ScanRow(s Executor, dest ...interface{}) (err error)
- func (this SelectBuilder) ScanRowContext(ctx context.Context, s Executor, dest ...interface{}) (err error)
- func (this *SelectBuilder) Select(column interface{}, args ...interface{}) *SelectBuilder
- func (this *SelectBuilder) Selects(columns ...string) *SelectBuilder
- func (this *SelectBuilder) Suffix(sql interface{}, args ...interface{}) *SelectBuilder
- func (this *SelectBuilder) ToSQL() (string, []interface{}, error)
- func (this *SelectBuilder) Type() string
- func (this SelectBuilder) UseDialect(d dialect)
- func (this *SelectBuilder) UseSQLCalcFoundRows() *SelectBuilder
- func (this *SelectBuilder) Where(sql interface{}, args ...interface{}) *SelectBuilder
- type Statement
- type StmtCache
- func (this *StmtCache) Begin() (*sql.Tx, error)
- func (this *StmtCache) BeginTx(ctx context.Context, opts *sql.TxOptions) (*sql.Tx, error)
- func (this *StmtCache) Exec(query string, args ...interface{}) (sql.Result, error)
- func (this *StmtCache) ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
- func (this *StmtCache) Ping() error
- func (this *StmtCache) PingContext(ctx context.Context) error
- func (this *StmtCache) Prepare(query string) (*sql.Stmt, error)
- func (this *StmtCache) PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)
- func (this *StmtCache) Query(query string, args ...interface{}) (*sql.Rows, error)
- func (this *StmtCache) QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
- type TX
- type UpdateBuilder
- func (this *UpdateBuilder) AppendToSQL(w io.Writer, sep string, args *Args) error
- func (this UpdateBuilder) Exec(s Executor) (sql.Result, error)
- func (this UpdateBuilder) ExecContext(ctx context.Context, s Executor) (result sql.Result, err error)
- func (this *UpdateBuilder) Join(join, table, suffix string, args ...interface{}) *UpdateBuilder
- func (this *UpdateBuilder) LeftJoin(table, suffix string, args ...interface{}) *UpdateBuilder
- func (this *UpdateBuilder) Limit(limit int64) *UpdateBuilder
- func (this *UpdateBuilder) Offset(offset int64) *UpdateBuilder
- func (this *UpdateBuilder) Options(options ...string) *UpdateBuilder
- func (this *UpdateBuilder) OrderBy(sql ...string) *UpdateBuilder
- func (this *UpdateBuilder) Prefix(sql string, args ...interface{}) *UpdateBuilder
- func (this *UpdateBuilder) RightJoin(table, suffix string, args ...interface{}) *UpdateBuilder
- func (this *UpdateBuilder) SET(column string, value interface{}) *UpdateBuilder
- func (this *UpdateBuilder) SETS(kvs ...interface{}) *UpdateBuilder
- func (this *UpdateBuilder) SetMap(data map[string]interface{}) *UpdateBuilder
- func (this *UpdateBuilder) Suffix(sql interface{}, args ...interface{}) *UpdateBuilder
- func (this *UpdateBuilder) Table(table string, args ...string) *UpdateBuilder
- func (this *UpdateBuilder) ToSQL() (string, []interface{}, error)
- func (this *UpdateBuilder) Type() string
- func (this UpdateBuilder) UseDialect(d dialect)
- func (this *UpdateBuilder) Where(sql interface{}, args ...interface{}) *UpdateBuilder
Constants ¶
This section is empty.
Variables ¶
var ( MySQL = &mysql{} Default = MySQL PostgreSQL = &postgresql{} )
Functions ¶
func NewStatement ¶
func NewStatement(sql interface{}, args ...interface{}) *statement
func OnDuplicateKeyUpdate ¶
func OnDuplicateKeyUpdate() *onDuplicateKeyUpdateStmt
func UseDialect ¶
func UseDialect(d dialect)
Types ¶
type Args ¶
type Args struct {
// contains filtered or unexported fields
}
--------------------------------------------------------------------------------
type DB ¶
type DB interface { Executor Preparer Ping() error PingContext(ctx context.Context) error Begin() (*sql.Tx, error) BeginTx(ctx context.Context, opts *sql.TxOptions) (*sql.Tx, error) }
--------------------------------------------------------------------------------
type DeleteBuilder ¶
type DeleteBuilder struct {
// contains filtered or unexported fields
}
func NewDeleteBuilder ¶
func NewDeleteBuilder() *DeleteBuilder
--------------------------------------------------------------------------------
func (*DeleteBuilder) Alias ¶
func (this *DeleteBuilder) Alias(alias ...string) *DeleteBuilder
func (*DeleteBuilder) AppendToSQL ¶
func (this *DeleteBuilder) AppendToSQL(w io.Writer, args *Args) error
func (DeleteBuilder) ExecContext ¶
func (*DeleteBuilder) Join ¶
func (this *DeleteBuilder) Join(join, table, suffix string, args ...interface{}) *DeleteBuilder
func (*DeleteBuilder) LeftJoin ¶
func (this *DeleteBuilder) LeftJoin(table, suffix string, args ...interface{}) *DeleteBuilder
func (*DeleteBuilder) Limit ¶
func (this *DeleteBuilder) Limit(limit int64) *DeleteBuilder
func (*DeleteBuilder) Offset ¶
func (this *DeleteBuilder) Offset(offset int64) *DeleteBuilder
func (*DeleteBuilder) Options ¶
func (this *DeleteBuilder) Options(options ...string) *DeleteBuilder
func (*DeleteBuilder) OrderBy ¶
func (this *DeleteBuilder) OrderBy(sql ...string) *DeleteBuilder
func (*DeleteBuilder) Prefix ¶
func (this *DeleteBuilder) Prefix(sql string, args ...interface{}) *DeleteBuilder
func (*DeleteBuilder) RightJoin ¶
func (this *DeleteBuilder) RightJoin(table, suffix string, args ...interface{}) *DeleteBuilder
func (*DeleteBuilder) Suffix ¶
func (this *DeleteBuilder) Suffix(sql interface{}, args ...interface{}) *DeleteBuilder
func (*DeleteBuilder) Table ¶
func (this *DeleteBuilder) Table(table string, args ...string) *DeleteBuilder
func (*DeleteBuilder) ToSQL ¶
func (this *DeleteBuilder) ToSQL() (string, []interface{}, error)
func (*DeleteBuilder) Type ¶
func (this *DeleteBuilder) Type() string
func (*DeleteBuilder) USING ¶
func (this *DeleteBuilder) USING(sql string) *DeleteBuilder
func (DeleteBuilder) UseDialect ¶
func (this DeleteBuilder) UseDialect(d dialect)
func (*DeleteBuilder) Where ¶
func (this *DeleteBuilder) Where(sql interface{}, args ...interface{}) *DeleteBuilder
type Executor ¶
type Executor interface { Exec(query string, args ...interface{}) (sql.Result, error) ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error) Query(query string, args ...interface{}) (*sql.Rows, error) QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error) }
--------------------------------------------------------------------------------
type InsertBuilder ¶
type InsertBuilder struct {
// contains filtered or unexported fields
}
func Insert ¶
func Insert(columns ...string) *InsertBuilder
--------------------------------------------------------------------------------
func NewInsertBuilder ¶
func NewInsertBuilder() *InsertBuilder
--------------------------------------------------------------------------------
func (*InsertBuilder) AppendToSQL ¶
func (this *InsertBuilder) AppendToSQL(w io.Writer, args *Args) error
func (*InsertBuilder) Clone ¶
func (this *InsertBuilder) Clone() *InsertBuilder
func (*InsertBuilder) Column ¶
func (this *InsertBuilder) Column(column string) *InsertBuilder
func (*InsertBuilder) Columns ¶
func (this *InsertBuilder) Columns(columns ...string) *InsertBuilder
func (InsertBuilder) ExecContext ¶
func (*InsertBuilder) Options ¶
func (this *InsertBuilder) Options(options ...string) *InsertBuilder
func (*InsertBuilder) Prefix ¶
func (this *InsertBuilder) Prefix(sql string, args ...interface{}) *InsertBuilder
func (*InsertBuilder) SET ¶
func (this *InsertBuilder) SET(column string, value interface{}) *InsertBuilder
func (*InsertBuilder) Select ¶
func (this *InsertBuilder) Select(sb *SelectBuilder) *InsertBuilder
func (*InsertBuilder) Suffix ¶
func (this *InsertBuilder) Suffix(sql interface{}, args ...interface{}) *InsertBuilder
func (*InsertBuilder) Table ¶
func (this *InsertBuilder) Table(table string) *InsertBuilder
func (*InsertBuilder) ToSQL ¶
func (this *InsertBuilder) ToSQL() (string, []interface{}, error)
func (*InsertBuilder) Type ¶
func (this *InsertBuilder) Type() string
func (*InsertBuilder) UseDialect ¶
func (this *InsertBuilder) UseDialect(d dialect)
func (*InsertBuilder) Values ¶
func (this *InsertBuilder) Values(values ...interface{}) *InsertBuilder
type NotEq ¶
type NotEq Eq
--------------------------------------------------------------------------------
type Preparer ¶
type Preparer interface { Prepare(query string) (*sql.Stmt, error) PrepareContext(ctx context.Context, query string) (*sql.Stmt, error) }
--------------------------------------------------------------------------------
type RawBuilder ¶
type RawBuilder struct {
// contains filtered or unexported fields
}
--------------------------------------------------------------------------------
func NewBuilder ¶
func NewBuilder(sql string, args ...interface{}) *RawBuilder
--------------------------------------------------------------------------------
func (*RawBuilder) Append ¶
func (this *RawBuilder) Append(sql string, args ...interface{}) *RawBuilder
func (*RawBuilder) AppendToSQL ¶
func (this *RawBuilder) AppendToSQL(w io.Writer, args *Args) error
func (RawBuilder) ExecContext ¶
func (*RawBuilder) Format ¶
func (this *RawBuilder) Format(format string, args ...interface{}) *RawBuilder
func (*RawBuilder) Params ¶
func (this *RawBuilder) Params(args ...interface{}) *RawBuilder
func (RawBuilder) QueryContext ¶
func (RawBuilder) ScanContext ¶
func (RawBuilder) ScanRowContext ¶
func (*RawBuilder) ToSQL ¶
func (this *RawBuilder) ToSQL() (string, []interface{}, error)
func (*RawBuilder) Type ¶
func (this *RawBuilder) Type() string
func (RawBuilder) UseDialect ¶
func (this RawBuilder) UseDialect(d dialect)
type SQLValue ¶
type SQLValue interface {
SQLValue() string
}
--------------------------------------------------------------------------------
type SelectBuilder ¶
type SelectBuilder struct {
// contains filtered or unexported fields
}
func NewSelectBuilder ¶
func NewSelectBuilder() *SelectBuilder
--------------------------------------------------------------------------------
func Select ¶
func Select(columns ...string) *SelectBuilder
--------------------------------------------------------------------------------
func (*SelectBuilder) AppendToSQL ¶
func (this *SelectBuilder) AppendToSQL(w io.Writer, args *Args) error
func (*SelectBuilder) Clone ¶
func (this *SelectBuilder) Clone() *SelectBuilder
func (*SelectBuilder) Count ¶
func (this *SelectBuilder) Count(args ...string) *SelectBuilder
func (*SelectBuilder) FoundRows ¶
func (this *SelectBuilder) FoundRows(args ...string) *SelectBuilder
func (*SelectBuilder) From ¶
func (this *SelectBuilder) From(table string, args ...string) *SelectBuilder
func (*SelectBuilder) FromStmt ¶
func (this *SelectBuilder) FromStmt(stmt Statement) *SelectBuilder
func (*SelectBuilder) GroupBy ¶
func (this *SelectBuilder) GroupBy(groupBys ...string) *SelectBuilder
func (*SelectBuilder) Having ¶
func (this *SelectBuilder) Having(sql interface{}, args ...interface{}) *SelectBuilder
func (*SelectBuilder) Join ¶
func (this *SelectBuilder) Join(join, table, suffix string, args ...interface{}) *SelectBuilder
func (*SelectBuilder) LeftJoin ¶
func (this *SelectBuilder) LeftJoin(table, suffix string, args ...interface{}) *SelectBuilder
func (*SelectBuilder) Limit ¶
func (this *SelectBuilder) Limit(limit int64) *SelectBuilder
func (*SelectBuilder) Offset ¶
func (this *SelectBuilder) Offset(offset int64) *SelectBuilder
func (*SelectBuilder) Options ¶
func (this *SelectBuilder) Options(options ...string) *SelectBuilder
func (*SelectBuilder) OrderBy ¶
func (this *SelectBuilder) OrderBy(sql ...string) *SelectBuilder
func (*SelectBuilder) Prefix ¶
func (this *SelectBuilder) Prefix(sql string, args ...interface{}) *SelectBuilder
func (SelectBuilder) QueryContext ¶
func (*SelectBuilder) RightJoin ¶
func (this *SelectBuilder) RightJoin(table, suffix string, args ...interface{}) *SelectBuilder
func (SelectBuilder) ScanContext ¶
func (SelectBuilder) ScanRowContext ¶
func (*SelectBuilder) Select ¶
func (this *SelectBuilder) Select(column interface{}, args ...interface{}) *SelectBuilder
func (*SelectBuilder) Selects ¶
func (this *SelectBuilder) Selects(columns ...string) *SelectBuilder
func (*SelectBuilder) Suffix ¶
func (this *SelectBuilder) Suffix(sql interface{}, args ...interface{}) *SelectBuilder
func (*SelectBuilder) ToSQL ¶
func (this *SelectBuilder) ToSQL() (string, []interface{}, error)
func (*SelectBuilder) Type ¶
func (this *SelectBuilder) Type() string
func (SelectBuilder) UseDialect ¶
func (this SelectBuilder) UseDialect(d dialect)
func (*SelectBuilder) UseSQLCalcFoundRows ¶
func (this *SelectBuilder) UseSQLCalcFoundRows() *SelectBuilder
--------------------------------------------------------------------------------
func (*SelectBuilder) Where ¶
func (this *SelectBuilder) Where(sql interface{}, args ...interface{}) *SelectBuilder
type Statement ¶
type Statement interface { AppendToSQL(w io.Writer, args *Args) error ToSQL() (string, []interface{}, error) }
--------------------------------------------------------------------------------
type StmtCache ¶
type StmtCache struct {
// contains filtered or unexported fields
}
func (*StmtCache) ExecContext ¶
func (*StmtCache) PrepareContext ¶
type TX ¶
type TX interface { Executor Preparer Stmt(stmt *sql.Stmt) *sql.Stmt StmtContext(ctx context.Context, stmt *sql.Stmt) *sql.Stmt Commit() (err error) Rollback() error }
--------------------------------------------------------------------------------
type UpdateBuilder ¶
type UpdateBuilder struct {
// contains filtered or unexported fields
}
func NewUpdateBuilder ¶
func NewUpdateBuilder() *UpdateBuilder
--------------------------------------------------------------------------------
func Update ¶
func Update(table string, args ...string) *UpdateBuilder
--------------------------------------------------------------------------------
func (*UpdateBuilder) AppendToSQL ¶
func (UpdateBuilder) ExecContext ¶
func (*UpdateBuilder) Join ¶
func (this *UpdateBuilder) Join(join, table, suffix string, args ...interface{}) *UpdateBuilder
func (*UpdateBuilder) LeftJoin ¶
func (this *UpdateBuilder) LeftJoin(table, suffix string, args ...interface{}) *UpdateBuilder
func (*UpdateBuilder) Limit ¶
func (this *UpdateBuilder) Limit(limit int64) *UpdateBuilder
func (*UpdateBuilder) Offset ¶
func (this *UpdateBuilder) Offset(offset int64) *UpdateBuilder
func (*UpdateBuilder) Options ¶
func (this *UpdateBuilder) Options(options ...string) *UpdateBuilder
func (*UpdateBuilder) OrderBy ¶
func (this *UpdateBuilder) OrderBy(sql ...string) *UpdateBuilder
func (*UpdateBuilder) Prefix ¶
func (this *UpdateBuilder) Prefix(sql string, args ...interface{}) *UpdateBuilder
func (*UpdateBuilder) RightJoin ¶
func (this *UpdateBuilder) RightJoin(table, suffix string, args ...interface{}) *UpdateBuilder
func (*UpdateBuilder) SET ¶
func (this *UpdateBuilder) SET(column string, value interface{}) *UpdateBuilder
func (*UpdateBuilder) SETS ¶
func (this *UpdateBuilder) SETS(kvs ...interface{}) *UpdateBuilder
SETS 批量设置需要更新的字段及其值 var name = "my name" SETS("name", name, "age", 10)
func (*UpdateBuilder) SetMap ¶
func (this *UpdateBuilder) SetMap(data map[string]interface{}) *UpdateBuilder
func (*UpdateBuilder) Suffix ¶
func (this *UpdateBuilder) Suffix(sql interface{}, args ...interface{}) *UpdateBuilder
func (*UpdateBuilder) Table ¶
func (this *UpdateBuilder) Table(table string, args ...string) *UpdateBuilder
func (*UpdateBuilder) ToSQL ¶
func (this *UpdateBuilder) ToSQL() (string, []interface{}, error)
func (*UpdateBuilder) Type ¶
func (this *UpdateBuilder) Type() string
func (UpdateBuilder) UseDialect ¶
func (this UpdateBuilder) UseDialect(d dialect)
func (*UpdateBuilder) Where ¶
func (this *UpdateBuilder) Where(sql interface{}, args ...interface{}) *UpdateBuilder