Добавьте поле идентификатора «уникально для категории» в postgresql - PullRequest
0 голосов
/ 19 марта 2019

У меня есть две таблицы в моей базе данных. Давайте назовем их человеком и зданием

create table building (
    id serial primary key, 
    address varchar(255)
);
create table person (
    id serial primary key, 
    name varchar(255), 
    building_id integer, 
    foreign key (building_id) references building (id)
);

Что мне нужно, так это иметь еще одно поле в таблице персон, которое было бы уникальным «человек в здании». Таким образом, если в здании два человека, а я добавляю третьего, им будет назначено 3 в качестве номера «человека в здании». Мне все равно, являются ли эти числа «человек в здании» последовательными, если они уникальны для человека и здания и сохраняются при удалении / вставке (т. Е. Если человек удаляется, другие люди в том же здании не получают авто-перенумеровать). Я, вероятно, могу реализовать это с помощью триггеров, но мне было интересно, есть ли более простой способ.

...