sql >> Databasteknik >  >> RDS >> PostgreSQL

Lägga till en en-av-två inte null-begränsning i postgresql

Du kan använda en kontrollbegränsning t.ex.

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

Från manualen:

En kontrollbegränsning är den mest generiska begränsningstypen. Det låter dig ange att värdet i en viss kolumn måste uppfylla ett booleskt (sanningsvärde) uttryck.

Edit:Alternativ för att följa Pithyless tolkning:

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


  1. MariaDB JSON_REMOVE() Förklarad

  2. SQLite ingen sådan kolumn

  3. Varför Oracle-skärmar??? för specialtecken som åäö

  4. Få dagen från ett datum i PostgreSQL