Атрибут, который не является нулевым, когда другой атрибут также не является нулевым в SQL - PullRequest
0 голосов
/ 28 января 2020

Я хотел создать таблицу для статей, в которой может быть (но не обязательно) ссылка на img-Source. Для всех статей, имеющих ссылку, также необходим img-Type (который должен быть «png», «svg» или «jpg»). Я не совсем понимаю, как я могу сделать поле img-Type не пустым только для значений, где поле img-Sr c не равно нулю.

Вот мой код (без ограничений null / null для полей img-Type и img-Sr c)

create TABLE Article(
articleID varchar(15) primary key ,
articleDescription varchar (80) null ,
imgSrc varchar (20)  ,
imgType  char(3),
check imgType = 'png' or imgType = 'svg' or imgType = 'jpg'
);

1 Ответ

1 голос
/ 28 января 2020

добавить новое ограничение, где вы проверяете, являются ли оба значения нулевыми или оба значения не равны нулю

check (imgSrc is not null and imgType is not null 
    or imgSrc is null and imgType is null)
...