probleem met queries bij koppeltabellen
Kijk eens naar dit:
Zie je de haakjes om de veldnamen, dat moet want elke key kan uit meerdere velden (kolommen) bestaan.
Een primary key kan dus ook uit meerdere kolommen bestaan en is al uniek, een koppeltabel heeft geen auto increment PK nodig.
Een FK kan je ook naar een kolom in dezelfde tabel laten verwijzen (je moet hem dan wel met ALTER table aanmaken), ik denk dat bedoeld wordt met een interne relatie.
Mocht je overigens in zo'n situatie terecht komen, kan je jezelf beter afvragen of er geen betere oplossingen zijn.
Als je PHP van php.net hebt gedownload heb je de mysqli extensie wel (als het goed is), die staat in de ext folder in de map van PHP. Voor windows is dit php_mysqli.dll (voor Linux .so), en dan moet je in het php.ini
bestand de ; weghalen voor dit regeltje:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
CREATE TABLE kpl_club_speler (
club_id INT(10) NOT NULL,
speler_id INT(10) NOT NULL
PRIMARY KEY (club_id, speler_id),
FOREIGN KEY (club_id) REFERENCES clubs (club_id),
FOREIGN KEY (speler_id) REFERENCES spelers(speler_id)
)
club_id INT(10) NOT NULL,
speler_id INT(10) NOT NULL
PRIMARY KEY (club_id, speler_id),
FOREIGN KEY (club_id) REFERENCES clubs (club_id),
FOREIGN KEY (speler_id) REFERENCES spelers(speler_id)
)
Een primary key kan dus ook uit meerdere kolommen bestaan en is al uniek, een koppeltabel heeft geen auto increment PK nodig.
Een FK kan je ook naar een kolom in dezelfde tabel laten verwijzen (je moet hem dan wel met ALTER table aanmaken), ik denk dat bedoeld wordt met een interne relatie.
Mocht je overigens in zo'n situatie terecht komen, kan je jezelf beter afvragen of er geen betere oplossingen zijn.
Als je PHP van php.net hebt gedownload heb je de mysqli extensie wel (als het goed is), die staat in de ext folder in de map van PHP. Voor windows is dit php_mysqli.dll (voor Linux .so), en dan moet je in het php.ini
bestand de ; weghalen voor dit regeltje: