sql/mysql 的新手搞不懂外键
new to sql/mysql cant figure out foriegn keys
CREATE DATABASE FINAL_PROJECT;
USE FINAL_PROJECT;
CREATE TABLE MOVIE_RATING
(RATING_ID VARCHAR (1) PRIMARY KEY,
RATING VARCHAR(4));
CREATE TABLE MOVIE
(MOVIE_ID VARCHAR (2) PRIMARY KEY,
TITLE VARCHAR(20),
YEAR_RELEASED VARCHAR(4),
RATING_ID VARCHAR(1),
BW VARCHAR(4),
SUBTITLES VARCHAR(5));
CREATE TABLE CAST
(CAST_ID VARCHAR (2) PRIMARY KEY,
LAST_NAME VARCHAR(20),
FIRST_NAME VARCHAR(4),
DOB VARCHAR(20),
DOD VARCHAR(20));
CREATE TABLE MOVIE_CAST
(MOVIE_ID VARCHAR (2),
CAST_ID VARCHAR(2),
PERSONA VARCHAR(4));
我需要为这里的 table 编写外键,目前不知道如何处理以下内容:
- 在
movie
table 中,我需要引用 rating id
即
出现在 rating
table.
- 在
cast
table 我需要引用 movie
id 和 cast
id
来自 movie
table 和 cast
table
此命令将创建一个外键:
alter table movie
add foreign key (rating_id)
references rating(id);
我建议将 cast
table 重命名为其他名称,因为 cast
是内置函数。也许 movie_cast
.
CREATE DATABASE FINAL_PROJECT;
USE FINAL_PROJECT;
CREATE TABLE MOVIE_RATING
(RATING_ID VARCHAR (1) PRIMARY KEY,
RATING VARCHAR(4));
CREATE TABLE MOVIE
(MOVIE_ID VARCHAR (2) PRIMARY KEY,
TITLE VARCHAR(20),
YEAR_RELEASED VARCHAR(4),
RATING_ID VARCHAR(1),
BW VARCHAR(4),
SUBTITLES VARCHAR(5));
CREATE TABLE CAST
(CAST_ID VARCHAR (2) PRIMARY KEY,
LAST_NAME VARCHAR(20),
FIRST_NAME VARCHAR(4),
DOB VARCHAR(20),
DOD VARCHAR(20));
CREATE TABLE MOVIE_CAST
(MOVIE_ID VARCHAR (2),
CAST_ID VARCHAR(2),
PERSONA VARCHAR(4));
我需要为这里的 table 编写外键,目前不知道如何处理以下内容:
- 在
movie
table 中,我需要引用rating id
即 出现在rating
table. - 在
cast
table 我需要引用movie
id 和cast
id 来自movie
table 和cast
table
此命令将创建一个外键:
alter table movie
add foreign key (rating_id)
references rating(id);
我建议将 cast
table 重命名为其他名称,因为 cast
是内置函数。也许 movie_cast
.