DennisKingsman
@DennisKingsman
Студент

Как проверять поля на то, чтобы только одно из них было не пусто?

У меня есть поля в таблице
ОГРН и паспорт номер, мне надо наложить на них условие чтобы при заполнении данных проверялось заполнено одно из них или нет, в случае если заполнены два или ни одно система выдавала бы ошибку, могу я так сделать и если да, то как ?
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Вам нужен check constraint.

XOR в postgresql вроде нет, так что показывать на пальцах:
alter table tablename add constraint tablename_p1_xor_p2 check((p1 is null and p2 is not null) or (p2 is null and p1 is not null));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы