내가 PostgreSQL을에 테이블이있는 경우 :PostgreSQL의에서 한 - 아웃 - 오브 -이 NOT NULL 제약 조건을 추가
create table Education (
id integer references Profiles(id),
finished YearValue not null,
started YearValue,
qualification text,
schoolName text,
studiedAt integer references Organizations(id),
primary key (id)
);
가 나도 schoolName
또는 studiedAt
필요가 null이 될 수 없습니다 할 수 있도록 제약 조건을 만들 필요를 (그들 중 하나는 그것에 정보가 있어야합니다).
어떻게하면됩니까?
이 수표는 schoolName과 learnedAt가 설정되는 것을 방지하지 않습니다. OP도 염두에 두었습니다. – pithyless
"schoolName"및 "learnedAt"중 적어도 하나가 몇 가지 정보를 포함하도록하는 불변식이 질문됩니다. 질문에 대한 해석에 동의하지 않지만 귀하의 의견을 따르는 제약 조건의 변형을 추가했습니다. –
조금 늦었지 만 이것은 XOR 제약 사항이므로 CHECK ((schoolNAME NULL) <> (learnedAt IS NULL))로 표현할 수 있습니다. – norcalli