Как обновить и установить для unit_id значение NULL, идентификатор устройства является внешним ключом, и мне нужно установить значение NULL
CREATE TABLE troops
(
id serial NOT NULL,
unit_id integer,
type integer NOT NULL,
level integer NOT NULL,
CONSTRAINT troops_pkey PRIMARY KEY (id),
CONSTRAINT troops_unit_id_fkey FOREIGN KEY (unit_id)
REFERENCES units (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE CASCADE
)
WITH (
OIDS=FALSE
);
Я попытался обновить войска и установить для unit_id значение NULL (я поставил NULL, а не 0 в выражении pqxx в C ++), но я получаю ошибку как
insert or update on table "troops" violates foreign key constraint "troops_unit_id_fkey"DETAIL: Key (unit_id)=(0) is not present in table "units".
Когда я пытаюсь из pgadmin, я могу установить для unit_id значение NULL в войсках, но pqxx (из кода c ++, который я пытаюсь обновить) преобразует NULL в 0, как это решить?
Задача ещё не решена.