SQL约束“至少有两个属性之一”

时间:2013-12-10 15:40:26

标签: sql constraints

我需要创建一个包含Usertelephone_number列的表e_mail_adress。每行必须至少设置一列。它既可以有两个,也可以只有一个,但它必须至少有一个。

如何在SQL中表达该约束?

1 个答案:

答案 0 :(得分: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
  )
)

您可能需要调整数据类型: - )