0
私は劇場用のデータベースを作成しています。現在のところ、番組と映画の2つのテーブルしかありません。MySQLのテーブルへの制約の追加
各ムービーは、(自動インクリメントID intがnullでない)、showテーブル内で外部キーとして使用したいユニークな文字列ID(nullでもない)を持っています。その私に与える:
エラーコード:1215は、外部キー制約を追加することはできません
ここでは私のクエリです:
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE movies CASCADE;
DROP TABLE shows CASCADE;
SET FOREIGN_KEY_CHECKS=1;
CREATE TABLE movies (
`movies_id` INT auto_increment,
`movie_id` VARCHAR(18) NOT NULL,
`title` VARCHAR(100),
`original_title` VARCHAR(100),
`punchline` VARCHAR(250),
`genre` VARCHAR(60),
`year` INT,
`duration` INT,
`url` VARCHAR(150),
`poster` VARCHAR(150),
`director` VARCHAR(45),
`producer` VARCHAR(45),
`writer` VARCHAR(100),
`cast` VARCHAR(500),
`distributor` VARCHAR(45),
`language` VARCHAR(45),
`country` VARCHAR(100),
`localization` VARCHAR(45),
`plot_outline` VARCHAR(800),
`sum_of_scores` DOUBLE,
`num_of_scores` DOUBLE,
PRIMARY KEY (`movies_id`));
CREATE TABLE shows (
`shows_id` INT auto_increment,
`show_id` VARCHAR(18),
`date` DATE,
`time` DATETIME,
`city` VARCHAR(45),
`center` VARCHAR(45),
`theater` VARCHAR(45),
`movies_movie_id` VARCHAR(18),
PRIMARY KEY (`shows_id`));
ALTER TABLE shows
ADD CONSTRAINT fk_shows_movies FOREIGN KEY
(`movies_movie_id`) REFERENCES movies(`movie_id`);
Movie_idは、キーまたはキーの一部である必要があります。 –