2013-12-10 31 views
0

我需要创建一个表User,其中telephone_numbere_mail_adress列。每行必须至少有一列设置。它可能有两个或只有一个,但它必须至少有一个。SQL约束“两个属性中的至少一个”

如何在SQL中表达该约束?

+0

什么数据库引擎,您使用的:-)? SQL Server,MySQL,Oracle ...? – Satal

回答

5
create table Users (
    /* Whatever */ 
    TelephoneNumber varchar(2000) null, 
    EmailAddress varchar(5) null, 
    constraint CK_AtLeastOneContact CHECK (
    TelephoneNumber is not null or 
    EmailAddress is not null 
) 
) 

您可能需要调整数据类型