SQL:主键和外键
SQL: Primary and foreign key
我正在创建一个 table,它有两个同时是主要值和外部值。我不知道如何在 SQL 中创建它们。这是我所做的,但出现错误,必须只有一个主键。正确的方法是什么?
CREATE TABLE movie_director(
director_id CHAR(8)
constraint pk_director_id_movie_director
PRIMARY KEY
constraint fk_director_id_movie_director
REFERENCES director,
movie_id VARCHAR(30)
constraint pk_movie_id_movie_director
PRIMARY KEY
constraint fk_movie_id_movie_director
REFERENCES movie
)
您似乎在寻找复合主键。将您的 table 定义更改为如下内容:
CREATE TABLE movie_director(
director_id CHAR(8)
constraint fk_director_id_movie_director
REFERENCES director,
movie_id VARCHAR(30)
constraint fk_movie_id_movie_director
REFERENCES movie,
CONSTRAINT PK_MOVIE_DIRECTOR
PRIMARY KEY (DIRECTOR_ID, MOVIE_ID));
您的错误似乎很明显。 table.
上只能有一个 PRIMARY KEY
您需要创建一个包含两列的 COMPOUND PRIMARY KEY
(director_id,movie_id)
。
In database design, a compound key is a key that consists of two or more attributes that uniquely identify an entity occurrence.
我正在创建一个 table,它有两个同时是主要值和外部值。我不知道如何在 SQL 中创建它们。这是我所做的,但出现错误,必须只有一个主键。正确的方法是什么?
CREATE TABLE movie_director(
director_id CHAR(8)
constraint pk_director_id_movie_director
PRIMARY KEY
constraint fk_director_id_movie_director
REFERENCES director,
movie_id VARCHAR(30)
constraint pk_movie_id_movie_director
PRIMARY KEY
constraint fk_movie_id_movie_director
REFERENCES movie
)
您似乎在寻找复合主键。将您的 table 定义更改为如下内容:
CREATE TABLE movie_director(
director_id CHAR(8)
constraint fk_director_id_movie_director
REFERENCES director,
movie_id VARCHAR(30)
constraint fk_movie_id_movie_director
REFERENCES movie,
CONSTRAINT PK_MOVIE_DIRECTOR
PRIMARY KEY (DIRECTOR_ID, MOVIE_ID));
您的错误似乎很明显。 table.
上只能有一个PRIMARY KEY
您需要创建一个包含两列的 COMPOUND PRIMARY KEY
(director_id,movie_id)
。
In database design, a compound key is a key that consists of two or more attributes that uniquely identify an entity occurrence.