Задать вопрос
DennisKingsman
@DennisKingsman
Студент

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

У меня есть поля в таблице
ОГРН и паспорт номер, мне надо наложить на них условие чтобы при заполнении данных проверялось заполнено одно из них или нет, в случае если заполнены два или ни одно система выдавала бы ошибку, могу я так сделать и если да, то как ?
  • Вопрос задан
  • 194 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
Решения вопроса 1
Melkij
@Melkij
DBA для вашего PostgreSQL?
Вам нужен 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));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы