我是SQL Server的新手,我遇到了一个基本问题。
基本上我的表COPY_TYPE
有一个主键C_NAME
和一个约束C_NAME
:VT, VCD, DVD
。
我如何写出来?我的不良尝试如下:
create table COPY_TYPE
(
C_NAME char(5) primary key,
constraint PK_C_NAME check ( 'VT', 'VCD', 'DVD')
);
我知道这是错的,但我还不知道如何开始用这种语言思考。
答案 0 :(得分:2)
你非常接近 - 我倾向于明确命名我的约束,所以我会这样写出来:
CREATE TABLE dbo.COPY_TYPE
(
C_NAME char(5) NOT NULL
CONSTRAINT PK_Copy_Type PRIMARY KEY CLUSTERED
CONSTRAINT CHK_C_NAME CHECK (C_NAME IN ('VT', 'VCD', 'DVD')),
... (other columns to follow) ....
);
答案 1 :(得分:0)
以下是您要遵循的示例:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id, LastName)
)
答案 2 :(得分:0)
create table COPY_TYPE (C_NAME char(5) primary key, constraint PK_C_NAME
check ( C_NAME = 'VT' or C_NAME = 'VCD' or C_NAME = 'DVD'));