Sto cercando di creare una relazione molti-a-molti nel mio database MySQL. Ho tre tabelle: Films
, Genres
e Films_Genres
. Sto usando il seguente codice per configurarli:Relazione molti-a-molti con MySQL KEYS ESTERO
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
)
Tuttavia, quando provo ad inserire alcuni valori nelle tabelle con:
INSERT INTO Films (Title) VALUES ('$title')
INSERT INTO Genres (Name) VALUES ('$genre')
riesco a vedere il nuovo film in Films
tavolo e la nuovo genere nella tabella Genres
ma la tabella Films_Genres
non si aggiorna - non ci sono nuove righe (sto verificando tramite phpMyAdmin).
Cosa sto sbagliando?
Incolla il codice PHP o non possiamo aiutarti. Hai verificato che '$ title' e' $ genre' esistano? Ecc .. –
Posso mostrare i risultati di film e generi - funzionano. L'unico problema è che la tabella Films_Genres non aggiunge alcuna riga. PHP sembra a posto. Sto usando mysqli_query ($ con, $ sql) per eseguire il codice SQL. L'SQL è corretto? – Sharkz
Quindi presumo che la connessione in 'Films_Genres 'sia la tua domanda preoccupata. In tal caso, dovrai mettere in relazione te stesso quei due record. –