Delete data: delete()
Perform a DELETE on the table or view.
By default, deleted rows are not returned. To return it, chain the call
with .select()
after filters.
1const { error } = await supabase
2 .from('countries')
3 .delete()
4 .eq('id', 1)
Parameters#
optionsrequired
object
Named parameters
countoptional
|exact
|planned
estimated
Count algorithm to use to count deleted rows.
"exact"
: Exact but slow count algorithm. Performs aCOUNT(*)
under the hood."planned"
: Approximated but fast count algorithm. Uses the Postgres statistics under the hood."estimated"
: Uses exact count for low numbers and planned count for high numbers.
Properties
Notes#
delete()
should always be combined with filters to target the item(s) you wish to delete.- If you use
delete()
with filters and you have RLS enabled, only rows visible throughSELECT
policies are deleted. Note that by default no rows are visible, so you need at least oneSELECT
/ALL
policy that makes the rows visible.
Examples#
Delete records#
1create table
2 countries (id int8 primary key, name text);
3
4insert into
5 countries (id, name)
6values
7 (1, 'Spain');
1const { data, error } = await supabase 2 .from('countries') 3 .select()