3

例如,假设我有“性别”字段,并且我只想允许值男性、女性或中性。这在 SQL Server 管理工作室中可行吗?

更新:到目前为止,解决方案指向“检查约束”功能,可以通过右键单击所需列找到该功能。

尽管如此,我还是遇到了语法错误。关于我应该如何输入约束的任何想法?

答案:原来我只需要像这样输入它

Gender = 'Male' OR Gender = 'Female' OR Gender = 'Unisex'
4

2 回答 2

4

与 MySQL 不同,MSSQL 没有ENUM数据类型。您唯一能做到的就是将值捕获在应用程序级别。或者通过使用CHECK约束

ColumnName varchar(10) 
CHECK(ColumnName IN ('Male', 'Female', 'Unisex')) 
DEFAULT 'Unisex'
于 2012-09-22T10:12:50.937 回答
2

您可以执行以下操作: - 创建另一个表并创建从主表到 Gender 的一对多关系。- 创建一个约束,如下所示:

CREATE TABLE Person
(
   Id int NOT NULL,
   Gender varchar(200)
   CONSTRAINT chk_Gender CHECK (Gender IN ('Male', 'Unisex', 'Female'))
)
于 2012-09-22T10:15:56.353 回答