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 で確認しています)。
私は何を間違っていますか?