MySQL预定义值

时间:2015-09-13 19:45:20

标签: mysql sql

我目前正在学习使用MySQL并且有点卡住并想知道是否有人可以提供帮助。下面是我的CD信息表之一。它可以工作但我需要更改Genre字段,这样他们就可以从预先选择的值列表中选择而不是用户输入类型。我真的不确定如何做到这一点,并想知道是否有人可以帮我引导我。

CREATE TABLE CD (
    Unique_CD_Identification_Number INT NOT NULL,
    CD_Title VARCHAR(23) NOT NULL,
    CD_Year YEAR(4)  NOT NULL,
    CD_Price DECIMAL(2,2) NOT NULL,
    CD_Description VARCHAR(56) NOT NULL,
    CD_Genre  VARCHAR(10) NOT NULL,
    Unique_Production_Number INT,
    FOREIGN KEY (Unique_Production_Number) REFERENCES Production(Unique_Production_Number),
    PRIMARY KEY (Unique_CD_Identification_Number)
);

1 个答案:

答案 0 :(得分:1)

改为CD_Genre CD_GenreId。那么这应该是对Genres表的外来引用:

CREATE TABLE Genres (
    GenreId int not null auto_increment primary key,
    Name varchar(255) not null
);

CREATE TABLE CD (
    Unique_CD_Identification_Number INT NOT NULL,
    CD_Title VARCHAR(23) NOT NULL,
    CD_Year YEAR(4)  NOT NULL,
    CD_Price DECIMAL(2,2) NOT NULL,
    CD_Description VARCHAR(56) NOT NULL,
    CD_GenreId int NOT NULL,
    Unique_Production_Number INT,
    FOREIGN KEY (Unique_Production_Number) REFERENCES Production(Unique_Production_Number),
    FOREIGN KEY (CD_GenreId) REFERENCES Genres(GenreId),
    PRIMARY KEY (Unique_CD_Identification_Number)
);

然后,您可以使用Genres表格填充列表。