これは、映画オンライン ストアの mi データベースの構造です。
そして、これらはその作成のためのSQLステートメントです
映画
CREATE TABLE `movies` (
`id_movie` varchar(4) NOT NULL default '',
`nom_movie` varchar(30) default NULL,
`detall_movie` text,
`precio_movie` varchar(6) default NULL,
`img_rut_movie` varchar(50) default NULL,
PRIMARY KEY (`id_movie`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ジェネロス
CREATE TABLE `genres` (
`id_genre` varchar(3) collate utf8_bin NOT NULL default '',
`nom_genre` varchar(20) collate utf8_bin default NULL,
PRIMARY KEY (`id_genero`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
movie_genero
CREATE TABLE `movie_genre` (
`id_movie` varchar(4) collate utf8_bin default NULL,
`id_genre` varchar(3) collate utf8_bin default NULL,
FOREIGN KEY(id_movie) REFERENCES movies(id_movie),
FOREIGN KEY(id_genero) REFERENCES generos(id_genero)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
たとえば、「アクション」というジャンルに属する映画を表示したい:
SELECT nom_movie FROM movies, genres, movie_genre WHERE genres.nom_genre = 'action';
しかし、1200 以上の結果が表示されます!! つまり、movies テーブルでホストされている 36 の映画を 36 回繰り返します。
あなたが助けてくれることを願っています!!