У меня есть следующее определение таблицы для journal
CREATE TABLE "public"."journal" (
"id" "public"."inc_journal" NOT NULL,
"short_desc" varchar(20),
"description" varchar(1000),
"default_gl_account_id" int8,
"company_id" int2,
"creator_user_id" int4,
"created_date" timestamp(6),
"type" "public"."journal_type",
CONSTRAINT "journal_pkey" PRIMARY KEY ("id")
)
WITH (OIDS=FALSE)
;
Определение для inc_journal представляет собой последовательность, подобную следующей:
CREATE SEQUENCE "public"."inc_journal"
INCREMENT 1
MINVALUE 1
MAXVALUE 4294967295
START 1
CACHE 1;
И я хочу установить для него внешний ключ так:
ALTER TABLE "public"."entry"
ADD FOREIGN KEY ("journal_id") REFERENCES "public"."journal" ("id");
Однако, когда я делаю это, я получаю сообщение об ошибке:
[Err] ОШИБКА: ограничение внешнего ключа "entry_journal_id_fkey" не может быть реализовано
ПОДРОБНЕЕ: Ключевые столбцы «journal_id» и «id» имеют несовместимые типы: integer и inc_journal.
Как мне избавиться от этой ошибки?
Нужно ли для journal_id
набирать inc_journal
? Я хотел бы все еще вставить null
в поле, так что это не правильный вариант.