데이터베이스별로 하나의 주제에 대해 여러 개의 주소를 저장하는 방법을 찾고 싶습니다. 주제 당 하나의 기본 주소 만 있습니다. Postgres Postgres 두 개의 열에 대한 고유 제한 조건 : 정수 및 부울
는 짧게 이야기하면, 우리는 테이블이 있다고 가정 할 수 있습니다 : 테이블의 각 ID에 대한CREATE TABLE test
(
id integer NOT NULL,
active boolean NOT NULL,
CONSTRAINT pk_id PRIMARY KEY (id)
)
을 최대 1 사실 활성 값이 있어야합니다.
어떻게하면됩니까?
감사합니다. @ThiefMaster으로
create unique index some_index on test (id) where active;
차 인덱스가 제거되어야합니다 상태 :
실제로 id 키가 기본 키이므로 id가 고유하므로 * 동일한 ID를 가진 두 행이 될 수 없으므로 아무 것도 할 필요가 없습니다. – ThiefMaster
'id'를 기본으로 사용하지 않으려면 트리거를 작성해야합니다. http://www.postgresql.org/docs/9.1/static/sql-createtrigger.html하지만 원하는 것은 아닐 것입니다. –