在PostgreSQL中添加“每个类别唯一” ID字段

时间:2019-03-19 20:14:00

标签: sql postgresql rdbms

我的数据库中有两个表。让我们称他们为人和建筑物

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作为其“建筑物中的人”编号。我不在乎这些“人在建筑物中”的编号是否是连续的,只要它们对于人+建筑物是唯一的并且在删除/插入操作中保持不变(即,如果一个人被删除,同一建筑物中的其他人不会自动重新编号)。我可能可以使用触发器来实现这一点,但是我想知道是否有更简单的方法。

0 个答案:

没有答案