В моей базе данных есть следующая таблица, таблица была создана с использованием django и architect.
CREATE TABLE public.results
(
results_id integer NOT NULL DEFAULT nextval('results_results_id_seq'::regclass),
name character varying(45) COLLATE pg_catalog."default" NOT NULL,
value double precision NOT NULL,
scenario_id integer NOT NULL,
CONSTRAINT results_pkey PRIMARY KEY (results_id),
CONSTRAINT results_scenario_id_name_22ad9c45_uniq UNIQUE (scenario_id, name),
CONSTRAINT results_scenario_id_d800e53c_fk_scenario_scenario_id FOREIGN KEY (scenario_id)
REFERENCES public.scenario (scenario_id) MATCH SIMPLE
ON UPDATE NO ACTION
ON DELETE NO ACTION
DEFERRABLE INITIALLY DEFERRED
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
Проблема, с которой я сталкиваюсь, возникает при выполнении следующего запроса
insert into
results ("scenario_id","name","value")
values
(44,'footprint_km2',1000)
on conflict
("scenario_id","name")
do update set
"value"= excluded.value;
duplicate key value violates unique constraint "results_1_500000_scenario_id_name_key"
DETAIL: Key (scenario_id, name)=(44, footprint_km2) already exists
, что не имеет смысла для меня, потому что я указал действие обновления при возникновении конфликта. ¿Ты знаешь, что я делаю неправильно?