ile çoktan çoğa ilişkisi MySQL veritabanımda çoktan çoğa bir ilişki oluşturmaya çalışıyorum. Üç tablom var: Films
, Genres
ve Films_Genres
. Onları kurmak için aşağıdaki kodu kullanıyorum:MySQL FOREIGN KEYS
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
)
Ancak, birlikte tablolar halinde bazı değerleri eklemeye çalıştığınızda: Ben Films
tabloda yeni Film görebilirsiniz
INSERT INTO Films (Title) VALUES ('$title')
INSERT INTO Genres (Name) VALUES ('$genre')
ve Genres
tablosundaki yeni Tür, ancak Films_Genres
tablosu güncellenmiyor - yeni satır yok (phpMyAdmin'i kontrol ediyorum).
Neyi yanlış yapıyorum?
PHP kodunu yapıştırın veya yardımcı olamayız. "$ Title" ve "$ tür" var mı doğruladınız? Vb .. –
Filmlerden ve Türlerden sonuçları gösterebilirim - çalışırlar. Tek sorun, Films_Genres tablosunun herhangi bir satır eklememesidir. PHP iyi görünüyor. SQL kodunu çalıştırmak için mysqli_query ($ con, $ sql) kullanıyorum. SQL doğru mu? – Sharkz
Yani 'Films_Genres' eksik bağlantı endişe endişenizdir. Bu durumda, bu iki kaydı kendiniz ilişkilendirmeniz gerekir. –