Ben Postgresql bir tablo varsa:postgresql bir tek-dışı iki değil boş kısıtının eklenmesi
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)
);
Ya schoolName
veya studiedAt
ihtiyaçları boş olamaz etmek, böylece bir kısıtlamasını yapmak gerekir (bunlardan birinin içinde bilgi olması gerekir).
Bunu nasıl yaparım?
Bu kontrol, hem okula karşı hem de çalışmayı korumaz ve üzerinde çalışıldığını belirtti. – pithyless
Soru, en azından 'okulAdı' ve 'üzerinde çalışılan' A'nın zorlandığı bir değişkeni soruyor. Sorunun yorumunu kabul etmeme rağmen yorumunuza uyan bir kısıtlama varyantı ekledim. –
Biraz geç, ama bu bir XOR kısıtlamasıdır, böylece 'CHECK ((okul adı NULL) <> (NULL IS NULL))' – norcalli