insert(data: UpsertDataToPGCast | UpsertDataToPGCast[], params?: SelectParams): Promise<InsertReturnType>
Inserts a new record into the table.
Parameters
- data required InsertData
- params optional SelectParams
-
limit optional number | null | undefined
Max number of rows to return. Defaults to 1000
- On client publish rules can affect this behaviour: cannot request more than the maxLimit (if present)
-
offset optional number
Number of rows to skip
-
groupBy optional boolean
Will group by all non aggregated fields specified in select (or all fields by default)
-
returnType optional “row” | “value” | “values” | “statement” | “statement-no-rls” | “statement-where” | undefined
Result data structure/type:
- row: the first row as an object
- value: the first value from of first field
- values: array of values from the selected field
- statement: sql statement
- statement-no-rls: sql statement without row level security
- statement-where: sql statement where condition
-
select optional Select
Fields/expressions/linked data to select
"*"or empty will return all fields{ field: 0 }- all fields except the specified field will be selected{ field: 1 }- only the specified field will be selected{ field: { $funcName: [args] } }- the field will be selected with the specified function applied{ field: 1, referencedTable: "*" }- field together with all fields from referencedTable will be selected{ linkedData: { referencedTable: { field: 1 } } }- linkedData will contain the linked/joined records from referencedTable
-
orderBy optional OrderBy
Order by options
- Order is maintained in arrays
[{ key: "field", asc: true, nulls: "last" }]
-
having optional FullFilter
Filter applied after any aggregations (group by)
-
Return type
InsertReturnType
Nothing is returned by default.
returning must be specified to return the updated records.
If an array of records is inserted then an array of records will be returned
otherwise a single record will be returned.