Как заставить внешний ключ PostgreSQL той же длины, что и первичный ключ? - PullRequest
0 голосов
/ 26 апреля 2018

Я могу сделать следующий DDL в PostgreSQL 9.6

CREATE TABLE "public"."bar" (
"bar" varchar(10) COLLATE "default" NOT NULL,
CONSTRAINT "bar_pkey" PRIMARY KEY ("bar")
);

CREATE TABLE "public"."foo" (
"foo" varchar(5) COLLATE "default",
CONSTRAINT "foo_foo_fkey" FOREIGN KEY ("foo") REFERENCES "public"."bar" ("bar") ON DELETE NO ACTION ON UPDATE NO ACTION
);

Можно ли принудительно установить внешний ключ той же длины, что и первичный ключ? Я хочу, чтобы второй DDL потерпел неудачу, поскольку foo - это varchar (5), а bar - varchar (10)

То же самое в других базах данных?

1 Ответ

0 голосов
/ 27 апреля 2018

Я буду использовать домен, чтобы все поля были одинаковыми спасибо @ a_horse_with_no_name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...