SQLServer:如何约束表以包含一行?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

我想在配置表中为我的应用程序存储一行。我希望强制这个表只能包含一行。

执行单行约束的最简单方法是什么?

提问于
用户回答回答于

确保其中一个列只能包含一个值,然后使主键(或应用唯一性约束)。

CREATE TABLE T1(
    Lock char(1) not null,
    /* Other columns */,
    constraint PK_T1 PRIMARY KEY (Lock),
    constraint CK_T1_Locked CHECK (Lock='X')
)

用户回答回答于

可以:

CREATE TABLE T1(
    Lock char(1) not null DEFAULT 'X',
    /* Other columns */,
    constraint PK_T1 PRIMARY KEY (Lock),
    constraint CK_T1_Locked CHECK (Lock='X')
)

扫码关注云+社区