例如,假设我有“性别”字段,并且我只想允许值男性、女性或中性。这在 SQL Server 管理工作室中可行吗?
更新:到目前为止,解决方案指向“检查约束”功能,可以通过右键单击所需列找到该功能。
尽管如此,我还是遇到了语法错误。关于我应该如何输入约束的任何想法?
答案:原来我只需要像这样输入它
Gender = 'Male' OR Gender = 'Female' OR Gender = 'Unisex'
例如,假设我有“性别”字段,并且我只想允许值男性、女性或中性。这在 SQL Server 管理工作室中可行吗?
更新:到目前为止,解决方案指向“检查约束”功能,可以通过右键单击所需列找到该功能。
尽管如此,我还是遇到了语法错误。关于我应该如何输入约束的任何想法?
答案:原来我只需要像这样输入它
Gender = 'Male' OR Gender = 'Female' OR Gender = 'Unisex'
与 MySQL 不同,MSSQL 没有ENUM
数据类型。您唯一能做到的就是将值捕获在应用程序级别。或者通过使用CHECK
约束
ColumnName varchar(10)
CHECK(ColumnName IN ('Male', 'Female', 'Unisex'))
DEFAULT 'Unisex'
您可以执行以下操作: - 创建另一个表并创建从主表到 Gender 的一对多关系。- 创建一个约束,如下所示:
CREATE TABLE Person
(
Id int NOT NULL,
Gender varchar(200)
CONSTRAINT chk_Gender CHECK (Gender IN ('Male', 'Unisex', 'Female'))
)