Синтаксис ограничения внешнего ключа PostgreSQL: примеры и методы

Синтаксис создания ограничения внешнего ключа в PostgreSQL следующий:

Метод 1: определение встроенного ограничения внешнего ключа

CREATE TABLE table1 (
    id SERIAL PRIMARY KEY,
    column1 INTEGER,
    column2 VARCHAR(50),
    CONSTRAINT fk_constraint_name FOREIGN KEY (column1) REFERENCES table2 (column_id)
);

Метод 2. Отдельное определение ограничения внешнего ключа

CREATE TABLE table1 (
    id SERIAL PRIMARY KEY,
    column1 INTEGER,
    column2 VARCHAR(50),
    CONSTRAINT fk_constraint_name FOREIGN KEY (column1) REFERENCES table2 (column_id)
);
ALTER TABLE table1
ADD CONSTRAINT fk_constraint_name FOREIGN KEY (column1) REFERENCES table2 (column_id);

Метод 3. Определение ограничений внешнего ключа после создания таблицы

CREATE TABLE table1 (
    id SERIAL PRIMARY KEY,
    column1 INTEGER,
    column2 VARCHAR(50)
);
ALTER TABLE table1
ADD CONSTRAINT fk_constraint_name FOREIGN KEY (column1) REFERENCES table2 (column_id);

В примерах выше:

  • table1 – это таблица, которая будет иметь ограничение внешнего ключа.
  • id— столбец первичного ключа в table1.
  • column1 — это столбец в table1, который будет ссылаться на table2.
  • table2— таблица, на которую есть ссылка.
  • column_id— это столбец, на который есть ссылка в table2.