PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Hinzufügen einer Eins-aus-zwei-Nicht-Null-Einschränkung in postgresql

Sie können eine Prüfbedingung verwenden, z. B.

constraint chk_education check (schoolName is not null or studiedAt is not null)

Aus dem Handbuch:

Ein Check-Constraint ist der generischste Constraint-Typ. Damit können Sie angeben, dass der Wert in einer bestimmten Spalte einen booleschen (Wahrheitswert) Ausdruck erfüllen muss.

Bearbeiten:Alternative, um der Interpretation von Pithyless zu entsprechen:

constraint chk_education check ((schoolName is not null and studiedAt is null) or (schoolName is null and studiedAt is not null))