我有这些表:station
和water_types
。一个用户可能只有一个电台,如果用户想删除该电台station
,则相应的water_types
也必须删除。在一个站点中,可能有多个water_types
。
create table
public.water_type (
id uuid not null default uuid_generate_v4 (),
name text not null,
price numeric(10, 2) not null,
user_id uuid not null,
constraint water_type_pkey primary key (id),
constraint water_type_user_id_fkey foreign key (user_id) references auth.users (id) on update cascade on delete restrict
) tablespace pg_default;
create table
public.station (
id uuid not null default gen_random_uuid (),
created_at timestamp with time zone null,
user_id uuid not null default auth.uid (),
..other data...
tel_no numeric null,
delivery_mode text null,
constraint station_pkey primary key (id),
constraint station_user_id_key unique (user_id),
constraint tation_user_id_fkey foreign key (user_id) references auth.users (id) on update cascade on delete cascade
) tablespace pg_default;
根据该表,这就是我计划实现的方式:
user_id
我打算将 的station
与 的user_id
进行比较water_types
。如果匹配,它将删除所有water_types
匹配的user_id
。
是否有其他更好的方法或者这已经足够了?