簡體   English   中英

試圖將兩個表關聯在一起

[英]trying to relate two table together

對SQL來說,這很新,所以我創建了2個表,它們希望彼此關聯,但出現錯誤“#1215-無法添加外鍵約束”,有人可以指出我該問題的正確方向嗎?

CREATE TABLE movie(
  id INT(1) NOT NULL AUTO_INCREMENT,
  nearname VARCHAR(25) NOT NULL,
  release_date DATE NOT NULL,
  lang VARCHAR(10) NOT NULL,
  PRIMARY KEY(id),
  CONSTRAINT same_movie FOREIGN KEY(id) REFERENCES movie_cast(movie_id)
);

CREATE TABLE movie_cast(
  movie_id INT(1) NOT NULL AUTO_INCREMENT,
  director_name VARCHAR(20) NOT NULL,
  actor_name VARCHAR(20) NOT NULL,
  actress_name VARCHAR(20) NOT NULL,
  PRIMARY KEY(movie_id),
  CONSTRAINT same_movie FOREIGN KEY(movie_id) REFERENCES movie(id)
);

您需要引用與主鍵相同的列名。 在這種情況下,它稱為id

CONSTRAINT same_movie FOREIGN KEY(movie_id) REFERENCES movie_cast(id)

當然,您的DDL沒有定義movie_cast 因此,我猜第二張表應該是這樣的:

CREATE TABLE movie_cast (
  id INT NOT NULL AUTO_INCREMENT,
  movie_id int not null,
  cast_name varchar(255)
  PRIMARY KEY(id),
  CONSTRAINT fk_movie_cast_movie FOREIGN KEY(movie_id) REFERENCES movie(movie_id)
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM