builder

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

View Source
var (
	// Question is a PlaceholderFormat instance that leaves placeholders as
	// question marks.
	Question = questionFormat{}

	// Dollar is a PlaceholderFormat instance that replaces placeholders with
	// dollar-prefixed positional placeholders (e.g. $1, $2, $3).
	Dollar = dollarFormat{}

	// Colon is a PlaceholderFormat instance that replaces placeholders with
	// colon-prefixed positional placeholders (e.g. :1, :2, :3).
	Colon = colonFormat{}

	// AtP is a PlaceholderFormat instance that replaces placeholders with
	// "@p"-prefixed positional placeholders (e.g. @p1, @p2, @p3).
	AtP = atpFormat{}
)

Functions

func DebugSqlizer

func DebugSqlizer(s Sqlizer) string

DebugSqlizer calls ToSql on s and shows the approximate SQL to be executed

If ToSql returns an error, the result of this method will look like: "[ToSql error: %s]" or "[DebugSqlizer error: %s]"

IMPORTANT: As its name suggests, this function should only be used for debugging. While the string result *might* be valid SQL, this function does not try very hard to ensure it. Additionally, executing the output of this function with any untrusted user input is certainly insecure.

func Placeholders

func Placeholders(count int) string

Placeholders returns a string with count ? placeholders joined with commas.

Types

type And

type And conj

And joins predicates with AND and wraps the result in parentheses.

func (And) ToSql

func (a And) ToSql() (string, []any, error)

type CaseBuilder

type CaseBuilder struct {
	// contains filtered or unexported fields
}

CaseBuilder holds all the data required to build a CASE SQL construct

func Case

func Case(what ...any) *CaseBuilder

Case returns a new CASE expression builder. Pass one argument for a simple CASE value, or no arguments for a searched CASE.

func (*CaseBuilder) Else

func (b *CaseBuilder) Else(expr any) *CaseBuilder

Else sets optional "ELSE ..." part for CASE construct

func (*CaseBuilder) ToSql

func (b *CaseBuilder) ToSql() (sqlStr string, args []any, err error)

ToSql implements Sqlizer

func (*CaseBuilder) What

func (b *CaseBuilder) What(expr any) *CaseBuilder

What sets optional value for CASE construct "CASE [value] ..."

func (*CaseBuilder) When

func (b *CaseBuilder) When(when any, then any) *CaseBuilder

When adds "WHEN ... THEN ..." part to CASE construct

type DeleteBuilder

type DeleteBuilder struct {
	// contains filtered or unexported fields
}

DeleteBuilder builds DELETE statements clause by clause.

func Delete

func Delete(from string) *DeleteBuilder

Delete returns a new DeleteBuilder with the given table name.

See DeleteBuilder.From.

func (*DeleteBuilder) Clear

func (b *DeleteBuilder) Clear() *DeleteBuilder

Clear resets all fields while preserving slice capacity for reuse.

func (*DeleteBuilder) Clone added in v1.0.0

func (b *DeleteBuilder) Clone() *DeleteBuilder

Clone returns a shallow copy of the builder and its clause slices.

func (*DeleteBuilder) From

func (b *DeleteBuilder) From(from string) *DeleteBuilder

From sets the table to be deleted from.

func (*DeleteBuilder) Limit

func (b *DeleteBuilder) Limit(limit uint64) *DeleteBuilder

Limit sets a LIMIT clause on the query.

func (*DeleteBuilder) Offset

func (b *DeleteBuilder) Offset(offset uint64) *DeleteBuilder

Offset sets a OFFSET clause on the query.

func (*DeleteBuilder) OrderBy

func (b *DeleteBuilder) OrderBy(orderBys ...string) *DeleteBuilder

OrderBy adds ORDER BY expressions to the query.

func (*DeleteBuilder) Prefix

func (b *DeleteBuilder) Prefix(sql string, args ...any) *DeleteBuilder

Prefix adds an expression to the beginning of the query

func (*DeleteBuilder) PrefixExpr

func (b *DeleteBuilder) PrefixExpr(expr Sqlizer) *DeleteBuilder

PrefixExpr adds an expression to the very beginning of the query

func (*DeleteBuilder) Returning

func (b *DeleteBuilder) Returning(columns ...string) *DeleteBuilder

Returning adds a RETURNING clause to the query.

func (*DeleteBuilder) Suffix

func (b *DeleteBuilder) Suffix(sql string, args ...any) *DeleteBuilder

Suffix adds an expression to the end of the query

func (*DeleteBuilder) SuffixExpr

func (b *DeleteBuilder) SuffixExpr(expr Sqlizer) *DeleteBuilder

SuffixExpr adds an expression to the end of the query

func (*DeleteBuilder) ToSql

func (b *DeleteBuilder) ToSql() (sqlStr string, args []any, err error)

ToSql renders the DELETE statement and its bound arguments.

func (*DeleteBuilder) Where

func (b *DeleteBuilder) Where(pred any, args ...any) *DeleteBuilder

Where adds WHERE expressions to the query.

See SelectBuilder.Where for more information.

type Eq

type Eq map[string]any

Eq is syntactic sugar for use with Where/Having/Set methods.

Each entry renders as "<key> = ?" and the value is passed as one bound argument. Eq does not special-case nil into IS NULL, dereference pointers, call driver.Valuer, or expand slices/arrays into IN (...). Use IsNull, IsNotNull, In, or NotIn explicitly when you need those predicate forms.

Example
Select("id", "created", "first_name").From("users").Where(Eq{
	"company": 20,
})

func (Eq) ToSql

func (eq Eq) ToSql() (sql string, args []any, err error)

type InsertBuilder

type InsertBuilder struct {
	// contains filtered or unexported fields
}

InsertBuilder builds INSERT-style statements clause by clause.

func Insert

func Insert(into string) *InsertBuilder

Insert returns a new InsertBuilder with the given table name.

See InsertBuilder.Into.

func Replace

func Replace(into string) *InsertBuilder

Replace returns a new InsertBuilder with the statement keyword set to "REPLACE" and with the given table name.

See InsertBuilder.Into.

func (*InsertBuilder) Clear

func (b *InsertBuilder) Clear() *InsertBuilder

Clear resets all fields while preserving slice capacity for reuse.

func (*InsertBuilder) Clone added in v1.0.0

func (b *InsertBuilder) Clone() *InsertBuilder

Clone returns a shallow copy of the builder and its clause slices.

func (*InsertBuilder) Columns

func (b *InsertBuilder) Columns(columns ...string) *InsertBuilder

Columns adds insert columns to the query.

func (*InsertBuilder) Into

func (b *InsertBuilder) Into(from string) *InsertBuilder

Into sets the INTO clause of the query.

func (*InsertBuilder) Options

func (b *InsertBuilder) Options(options ...string) *InsertBuilder

Options adds keyword options before the INTO clause of the query.

func (*InsertBuilder) Prefix

func (b *InsertBuilder) Prefix(sql string, args ...any) *InsertBuilder

Prefix adds an expression to the beginning of the query

func (*InsertBuilder) PrefixExpr

func (b *InsertBuilder) PrefixExpr(expr Sqlizer) *InsertBuilder

PrefixExpr adds an expression to the very beginning of the query

func (*InsertBuilder) Returning

func (b *InsertBuilder) Returning(columns ...string) *InsertBuilder

Returning adds a RETURNING clause to the query.

func (*InsertBuilder) Select

func (b *InsertBuilder) Select(sb *SelectBuilder) *InsertBuilder

Select uses a SELECT statement as the INSERT source. If both Values and Select are set, Select takes precedence.

func (*InsertBuilder) SetMap

func (b *InsertBuilder) SetMap(clauses map[string]any) *InsertBuilder

SetMap replaces the current columns and values from a column-to-value map.

func (*InsertBuilder) StatementKeyword

func (b *InsertBuilder) StatementKeyword(keyword string) *InsertBuilder

StatementKeyword overrides the leading statement keyword, for example "REPLACE".

func (*InsertBuilder) Suffix

func (b *InsertBuilder) Suffix(sql string, args ...any) *InsertBuilder

Suffix adds an expression to the end of the query

func (*InsertBuilder) SuffixExpr

func (b *InsertBuilder) SuffixExpr(expr Sqlizer) *InsertBuilder

SuffixExpr adds an expression to the end of the query

func (*InsertBuilder) ToSql

func (b *InsertBuilder) ToSql() (sqlStr string, args []any, err error)

ToSql renders the INSERT statement and its bound arguments.

func (*InsertBuilder) Values

func (b *InsertBuilder) Values(values ...any) *InsertBuilder

Values adds a single row's values to the query.

type NotEq

type NotEq Eq

NotEq is syntactic sugar for use with Where/Having/Set methods.

Each entry renders as "<key> <> ?" and the value is passed as one bound argument. NotEq does not special-case nil into IS NOT NULL, dereference pointers, call driver.Valuer, or expand slices/arrays into NOT IN (...). Use IsNull, IsNotNull, In, or NotIn explicitly when you need those predicate forms. Ex:

.Where(NotEq{"id": 1}) == "id <> 1"

func (NotEq) ToSql

func (neq NotEq) ToSql() (sql string, args []any, err error)

type Or

type Or conj

Or joins predicates with OR and wraps the result in parentheses.

func (Or) ToSql

func (o Or) ToSql() (string, []any, error)

type PlaceholderFormat

type PlaceholderFormat interface {
	ReplacePlaceholders(sql string) (string, error)
	PlaceholderString() string
}

PlaceholderFormat rewrites question-mark placeholders into a dialect-specific form.

type SelectBuilder

type SelectBuilder struct {
	// contains filtered or unexported fields
}

SelectBuilder builds SELECT statements clause by clause.

func Select

func Select(columns ...string) *SelectBuilder

Select returns a new SelectBuilder, optionally setting some result columns.

See SelectBuilder.Select.

Example
Select("id", "created", "first_name").From("users") // ... continue building up your query

// sql methods in select columns are ok
Select("first_name", "count(*)").From("users")

// column aliases are ok too
Select("first_name", "count(*) as n_users").From("users")

func (*SelectBuilder) AddColumn

func (b *SelectBuilder) AddColumn(column any, args ...any) *SelectBuilder

AddColumn adds a result column to the query. Unlike Select, AddColumn accepts args which will be bound to placeholders in the columns string, for example:

AddColumn("IF(col IN ("+squirrel.Placeholders(3)+"), 1, 0) as col", 1, 2, 3)

func (*SelectBuilder) Clear

func (b *SelectBuilder) Clear() *SelectBuilder

Clear resets all fields while preserving slice capacity for reuse.

func (*SelectBuilder) Clone added in v1.0.0

func (b *SelectBuilder) Clone() *SelectBuilder

Clone returns a shallow copy of the builder and its clause slices.

func (*SelectBuilder) CrossJoin

func (b *SelectBuilder) CrossJoin(join string, rest ...any) *SelectBuilder

CrossJoin adds a CROSS JOIN clause to the query.

func (*SelectBuilder) Distinct

func (b *SelectBuilder) Distinct() *SelectBuilder

Distinct adds a DISTINCT clause to the query.

func (*SelectBuilder) From

func (b *SelectBuilder) From(from string) *SelectBuilder

From sets the FROM clause of the query.

Example
Select("id", "created", "first_name").From("users") // ... continue building up your query

func (*SelectBuilder) FromSelect

func (b *SelectBuilder) FromSelect(from *SelectBuilder, alias string) *SelectBuilder

FromSelect sets a subquery into the FROM clause of the query.

Example
usersByCompany := Select("company", "count(*) as n_users").From("users").GroupBy("company")
query := Select("company.id", "company.name", "users_by_company.n_users").
	FromSelect(usersByCompany, "users_by_company").
	Join("company on company.id = users_by_company.company")

sql, _, _ := query.ToSql()
fmt.Println(sql)
Output:
SELECT company.id, company.name, users_by_company.n_users FROM (SELECT company, count(*) as n_users FROM users GROUP BY company) AS users_by_company JOIN company on company.id = users_by_company.company

func (*SelectBuilder) GroupBy

func (b *SelectBuilder) GroupBy(groupBys ...string) *SelectBuilder

GroupBy adds GROUP BY expressions to the query.

func (*SelectBuilder) Having

func (b *SelectBuilder) Having(pred any, rest ...any) *SelectBuilder

Having adds an expression to the HAVING clause of the query.

See Where.

func (*SelectBuilder) InnerJoin

func (b *SelectBuilder) InnerJoin(join string, rest ...any) *SelectBuilder

InnerJoin adds a INNER JOIN clause to the query.

func (*SelectBuilder) Join

func (b *SelectBuilder) Join(join string, rest ...any) *SelectBuilder

Join adds a JOIN clause to the query.

func (*SelectBuilder) JoinClause

func (b *SelectBuilder) JoinClause(pred any, args ...any) *SelectBuilder

JoinClause adds a join clause to the query.

func (*SelectBuilder) LeftJoin

func (b *SelectBuilder) LeftJoin(join string, rest ...any) *SelectBuilder

LeftJoin adds a LEFT JOIN clause to the query.

func (*SelectBuilder) Limit

func (b *SelectBuilder) Limit(limit uint64) *SelectBuilder

Limit sets a LIMIT clause on the query.

func (*SelectBuilder) Lock added in v1.0.0

func (b *SelectBuilder) Lock(sql string, args ...any) *SelectBuilder

Lock adds a row-locking clause such as FOR UPDATE to the end of the query.

func (*SelectBuilder) LockExpr added in v1.0.0

func (b *SelectBuilder) LockExpr(expr Sqlizer) *SelectBuilder

LockExpr adds a row-locking clause to the end of the query.

func (*SelectBuilder) Offset

func (b *SelectBuilder) Offset(offset uint64) *SelectBuilder

Offset sets a OFFSET clause on the query.

func (*SelectBuilder) Options

func (b *SelectBuilder) Options(options ...string) *SelectBuilder

Options adds select option to the query

func (*SelectBuilder) OrderBy

func (b *SelectBuilder) OrderBy(orderBys ...string) *SelectBuilder

OrderBy adds ORDER BY expressions to the query.

func (*SelectBuilder) OrderByClause

func (b *SelectBuilder) OrderByClause(pred any, args ...any) *SelectBuilder

OrderByClause adds ORDER BY clause to the query.

func (*SelectBuilder) Prefix

func (b *SelectBuilder) Prefix(sql string, args ...any) *SelectBuilder

Prefix adds an expression to the beginning of the query

func (*SelectBuilder) PrefixExpr

func (b *SelectBuilder) PrefixExpr(expr Sqlizer) *SelectBuilder

PrefixExpr adds an expression to the very beginning of the query

func (*SelectBuilder) RemoveColumns

func (b *SelectBuilder) RemoveColumns() *SelectBuilder

RemoveColumns remove all columns from query. Must add a new column with AddColumn or Select methods, otherwise return a error.

func (*SelectBuilder) RemoveLimit

func (b *SelectBuilder) RemoveLimit() *SelectBuilder

RemoveLimit remove LIMIT clause

func (*SelectBuilder) RemoveOffset

func (b *SelectBuilder) RemoveOffset() *SelectBuilder

RemoveOffset removes OFFSET clause.

func (*SelectBuilder) RightJoin

func (b *SelectBuilder) RightJoin(join string, rest ...any) *SelectBuilder

RightJoin adds a RIGHT JOIN clause to the query.

func (*SelectBuilder) Select

func (b *SelectBuilder) Select(columns ...string) *SelectBuilder

Select adds result columns to the query.

func (*SelectBuilder) Suffix

func (b *SelectBuilder) Suffix(sql string, args ...any) *SelectBuilder

Suffix adds an expression to the end of the query

func (*SelectBuilder) SuffixExpr

func (b *SelectBuilder) SuffixExpr(expr Sqlizer) *SelectBuilder

SuffixExpr adds an expression to the end of the query

func (*SelectBuilder) ToCountBuilder

func (b *SelectBuilder) ToCountBuilder() *SelectBuilder

ToCountBuilder rewrites the query into a COUNT query while preserving filters and joins.

func (*SelectBuilder) ToSql

func (b *SelectBuilder) ToSql() (sqlStr string, args []any, err error)

ToSql renders the SELECT statement and its bound arguments.

Example
var db *sql.DB

query := Select("id", "created", "first_name").From("users")

sql, args, err := query.ToSql()
if err != nil {
	log.Println(err)
	return
}

rows, err := db.Query(sql, args...)
if err != nil {
	log.Println(err)
	return
}

defer rows.Close()

for rows.Next() {
	// scan...
}

func (*SelectBuilder) Where

func (b *SelectBuilder) Where(pred any, args ...any) *SelectBuilder

Where adds an expression to the WHERE clause of the query.

Expressions are ANDed together in the generated SQL.

Where accepts several types for its pred argument:

nil OR "" - ignored.

string - SQL expression. If the expression has SQL placeholders then a set of arguments must be passed as well, one for each placeholderFormat.

map[string]any OR Eq - map of SQL expressions to values. Each key is transformed into an expression like "<key> = ?", with the corresponding value bound to the placeholderFormat. Nil, slices, arrays, pointers, and driver values are passed as one bound value; use IsNull, IsNotNull, In, or NotIn explicitly when you need those predicate forms.

Where will panic if pred isn't any of the above types.

Example
companyId := 20
Select("id", "created", "first_name").From("users").Where("company = ?", companyId)
Example (Helpers)
companyId := 20

Select("id", "created", "first_name").From("users").Where(Eq{
	"company": companyId,
})

Select("id", "created", "first_name").From("users").Where(Expr("created >= ?", time.Now().AddDate(0, 0, -7)))

Select("id", "created", "first_name").From("users").Where(And{
	Expr("created >= ?", time.Now().AddDate(0, 0, -7)),
	Eq{
		"company": companyId,
	},
})
Example (Multiple)
companyId := 20

// multiple where's are ok

Select("id", "created", "first_name").
	From("users").
	Where("company = ?", companyId).
	Where(Expr("created >= ?", time.Now().AddDate(0, 0, -7)))

func (*SelectBuilder) With added in v1.0.0

func (b *SelectBuilder) With(sql string, args ...any) *SelectBuilder

With adds a WITH clause to the beginning of the query.

func (*SelectBuilder) WithExpr added in v1.0.0

func (b *SelectBuilder) WithExpr(expr Sqlizer) *SelectBuilder

WithExpr adds a WITH clause to the beginning of the query.

type Sqlizer

type Sqlizer interface {
	ToSql() (string, []any, error)
}

Sqlizer is the interface that wraps the ToSql method.

ToSql returns a SQL representation of the Sqlizer, along with a slice of args as passed to e.g. database/sql.Exec. It can also return an error.

func Alias

func Alias(expr Sqlizer, alias string) Sqlizer

Alias allows to define alias for column in SelectBuilder. Useful when column is defined as complex expression like IF or CASE Ex:

.AddColumn(Alias(caseStmt, "case_column"))

func Between

func Between[T cmp.Ordered](field string, start, end T) Sqlizer

Between builds a field BETWEEN ? AND ? predicate.

func ConcatExpr

func ConcatExpr(parts ...any) Sqlizer

ConcatExpr builds an expression by concatenating strings and other expressions.

Ex:

name_expr := Expr("CONCAT(?, ' ', ?)", firstName, lastName)
ConcatExpr("COALESCE(full_name,", name_expr, ")")

func Expr

func Expr(sql string, args ...any) Sqlizer

Expr builds an expression from a SQL fragment and arguments.

Ex:

Expr("FROM_UNIXTIME(?)", t)

func Gt

func Gt[T cmp.Ordered](field string, value T) Sqlizer

Gt is syntactic sugar for use with Where/Having/Set methods. Ex:

.Where(Gt("id", 1)) == "id > 1"

func Gte

func Gte[T cmp.Ordered](field string, value T) Sqlizer

Gte is syntactic sugar for use with Where/Having/Set methods. Ex:

.Where(Gte("id", 1)) == "id >= 1"

func ILike

func ILike(field, value string) Sqlizer

ILike is syntactic sugar for use with ILIKE conditions. Ex:

.Where(ILike("name", "sq%"))

func In

func In[T any](field string, val []T) Sqlizer

In builds a field IN (...) predicate.

An empty slice becomes a portable false expression because SQL does not allow IN ().

func IsNotNull added in v1.0.0

func IsNotNull(field string) Sqlizer

IsNotNull builds a field IS NOT NULL predicate.

Use this instead of NotEq{field: nil} when you need SQL NULL semantics.

func IsNull added in v1.0.0

func IsNull(field string) Sqlizer

IsNull builds a field IS NULL predicate.

Use this instead of Eq{field: nil} when you need SQL NULL semantics.

func Like

func Like(field, value string) Sqlizer

Like is syntactic sugar for use with LIKE conditions. Ex:

.Where(Like("name", "%irrel"))

func Lt

func Lt[T cmp.Ordered](field string, value T) Sqlizer

Lt is syntactic sugar for use with Where/Having/Set methods. Ex:

.Where(Lt("id", 1))

func Lte

func Lte[T cmp.Ordered](field string, value T) Sqlizer

Lte is syntactic sugar for use with Where/Having/Set methods. Ex:

.Where(Lte("id", 1)) == "id <= 1"

func NotILike

func NotILike(field, value string) Sqlizer

NotILike is syntactic sugar for use with ILIKE conditions. Ex:

.Where(NotILike("name", "sq%"))

func NotIn

func NotIn[T any](field string, val []T) Sqlizer

NotIn builds a field NOT IN (...) predicate.

An empty slice becomes a portable true expression because SQL does not allow NOT IN ().

func NotLike

func NotLike(field, value string) Sqlizer

NotLike is syntactic sugar for use with LIKE conditions. Ex:

.Where(NotLike("name": "%irrel"))

type UpdateBuilder

type UpdateBuilder struct {
	// contains filtered or unexported fields
}

UpdateBuilder builds UPDATE statements clause by clause.

func Update

func Update(table string) *UpdateBuilder

Update returns a new UpdateBuilder with the given table name.

See UpdateBuilder.Table.

func (*UpdateBuilder) Clear

func (b *UpdateBuilder) Clear() *UpdateBuilder

Clear resets all fields while preserving slice capacity for reuse.

func (*UpdateBuilder) Clone added in v1.0.0

func (b *UpdateBuilder) Clone() *UpdateBuilder

Clone returns a shallow copy of the builder and its clause slices.

func (*UpdateBuilder) From

func (b *UpdateBuilder) From(from string) *UpdateBuilder

From adds a PostgreSQL-style FROM clause to the query.

func (*UpdateBuilder) FromSelect

func (b *UpdateBuilder) FromSelect(from *SelectBuilder, alias string) *UpdateBuilder

FromSelect sets a subquery into the FROM clause of the query.

func (*UpdateBuilder) Limit

func (b *UpdateBuilder) Limit(limit uint64) *UpdateBuilder

Limit sets a LIMIT clause on the query.

func (*UpdateBuilder) Offset

func (b *UpdateBuilder) Offset(offset uint64) *UpdateBuilder

Offset sets a OFFSET clause on the query.

func (*UpdateBuilder) OrderBy

func (b *UpdateBuilder) OrderBy(orderBys ...string) *UpdateBuilder

OrderBy adds ORDER BY expressions to the query.

func (*UpdateBuilder) Prefix

func (b *UpdateBuilder) Prefix(sql string, args ...any) *UpdateBuilder

Prefix adds an expression to the beginning of the query

func (*UpdateBuilder) PrefixExpr

func (b *UpdateBuilder) PrefixExpr(expr Sqlizer) *UpdateBuilder

PrefixExpr adds an expression to the very beginning of the query

func (*UpdateBuilder) Returning

func (b *UpdateBuilder) Returning(columns ...string) *UpdateBuilder

Returning adds a RETURNING clause to the query.

func (*UpdateBuilder) Set

func (b *UpdateBuilder) Set(column string, value any) *UpdateBuilder

Set adds SET clauses to the query.

func (*UpdateBuilder) SetMap

func (b *UpdateBuilder) SetMap(clauses map[string]any) *UpdateBuilder

SetMap is a convenience method which calls .Set for each key/value pair in clauses.

func (*UpdateBuilder) Suffix

func (b *UpdateBuilder) Suffix(sql string, args ...any) *UpdateBuilder

Suffix adds an expression to the end of the query

func (*UpdateBuilder) SuffixExpr

func (b *UpdateBuilder) SuffixExpr(expr Sqlizer) *UpdateBuilder

SuffixExpr adds an expression to the end of the query

func (*UpdateBuilder) Table

func (b *UpdateBuilder) Table(table string) *UpdateBuilder

Table sets the table to be updated.

func (*UpdateBuilder) ToSql

func (b *UpdateBuilder) ToSql() (sqlStr string, args []any, err error)

ToSql renders the UPDATE statement and its bound arguments.

func (*UpdateBuilder) Where

func (b *UpdateBuilder) Where(pred any, args ...any) *UpdateBuilder

Where adds WHERE expressions to the query.

See SelectBuilder.Where for more information.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL