MySQL データベースで多対多の関係を作成しようとしています。Films、 Genresおよびの 3 つのテーブル
がありFilms_Genresます。次のコードを使用してそれらを設定しています。
CREATE TABLE Films
(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
Title VARCHAR(255)
),
CREATE TABLE Genres
(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
Name VARCHAR(255)
),
CREATE TABLE Films_Genres
(
film_id INT NOT NULL,
genre_id INT NOT NULL,
PRIMARY KEY (film_id, genre_id),
FOREIGN KEY (film_id) REFERENCES Films(id) ON UPDATE CASCADE,
FOREIGN KEY (genre_id) REFERENCES Genres(id) ON UPDATE CASCADE
)
ただし、いくつかの値をテーブルに挿入しようとすると、次のようになります。
INSERT INTO Films (Title) VALUES ('$title')
INSERT INTO Genres (Name) VALUES ('$genre')
テーブルに新しい映画が表示され、Filmsテーブルに新しいジャンルが表示されGenresますが、Films_Genresテーブルは更新されません。新しい行はありません (phpMyAdmin で確認しています)。
私は何を間違っていますか?