insert method
Perform an INSERT into the table or view.
By default no data is returned. Use a trailing select to return data.
When inserting multiple rows in bulk, defaultToNull
is used to set the values of fields missing in a proper subset of rows
to be either NULL
or the default value of these columns.
Fields missing in all rows always use the default value of these columns.
For single row insertions, missing fields will be set to default values when applicable.
Default (not returning data):
await supabase.from('messages').insert(
{'message': 'foo', 'username': 'supabot', 'channel_id': 1});
Returning data:
final data = await supabase.from('messages').insert({
'message': 'foo',
'username': 'supabot',
'channel_id': 1
}).select();
Implementation
PostgrestFilterBuilder<T> insert(
Object values, {
bool defaultToNull = true,
}) {
final newHeaders = {..._headers};
newHeaders['Prefer'] = '';
if (!defaultToNull) {
newHeaders['Prefer'] = 'missing=default';
}
Uri url = _url;
if (values is List) {
url = _setColumnsSearchParam(values);
}
return PostgrestFilterBuilder(_copyWith(
method: METHOD_POST,
headers: newHeaders,
body: values,
url: url,
));
}