Как описано в заголовке вопроса, мы можем добавить ограничение PRIMARY KEY
на уровне столбца:
animals=# CREATE TABLE temp (
id serial UNIQUE PRIMARY KEY);
CREATE TABLE
animals=# \d temp
Table "public.temp"
Column | Type | Collation | Nullable | Default
--------+---------+-----------+----------+----------------------------------
id | integer | | not null | nextval('temp_id_seq'::regclass)
Indexes:
"temp_pkey" PRIMARY KEY, btree (id)
Или на уровне таблицы:
animals=# CREATE TABLE temp_1 (
id serial UNIQUE,
PRIMARY KEY (id));
CREATE TABLE
animals=# \d temp_1
Table "public.temp_1"
Column | Type | Collation | Nullable | Default
--------+---------+-----------+----------+------------------------------------
id | integer | | not null | nextval('temp_1_id_seq'::regclass)
Indexes:
"temp_1_pkey" PRIMARY KEY, btree (id)
- Есть ли заметная разница между этими двумя методами для добавления ограничения
PRIMARY KEY
(или других ограничений)?
- Повлияет ли это на то, как таблицы ссылаются друг на друга?
Спасибо.