假设我定义了一个char列Type.我想严格说它的价值,例如(黑色,白色,红色,蓝色)只...
我怎样才能做到这一点??
我所知道的,这在Access中很容易:P
如果只有几个允许值,那么您可以使用CHECK约束:
ALTER TABLE dbo.Your_Table
ADD CONSTRAINT CK_YourTable_YourColumn
CHECK (Your_Column IN ('Black', 'White', 'Red', 'Blue'))
Run Code Online (Sandbox Code Playgroud)
如果有更多值,则可以使用查找表和FOREIGN KEY约束:
CREATE TABLE dbo.Lookup_Colours (Colour VARCHAR(10))
-- then populate Lookup_Colours with all permitted values
ALTER TABLE dbo.Your_Table
ADD CONSTRAINT FK_YourTable_YourColumn
FOREIGN KEY (Your_Column)
REFERENCES dbo.Lookup_Colours (Colour)
Run Code Online (Sandbox Code Playgroud)