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)

来自wikipedia:

In database design, a compound key is a key that consists of two or more attributes that uniquely identify an entity occurrence.