Hallo daar,

Ik heb 2 tabellen. Een tabel tbl_groepen en een tbl_lesgevers. In de tabel tbl_groepen heb ik een verwijzing opgenomen naar de tbl_lesgevers dmv een veld lesgever_ID. Vervolgens heb ik een "foreign key constraint" aangemaakt tussen beide tabellen met een 'cascade on delete' instelling.

Effect: zolang er groepen bestaan met een lesgever_ID=3 kun je in de tabel tbl_lesgever de lesgever met lesgever_ID=3 NIET verwijderen. Prima: dat was ook de bedoeling.

Maar eigenlijk wil ik graag dat de gebruiker een melding krijgt wanneer hij een lesgever probeert te verwijderen die nog 'aan een groep gekoppeld is' in de tbl_groep.. Door de fk zal het niet gebeuren, maar is er een php functie / truukje om dit eenvoudig te controleren, zodat ik eenvoudig een medling kan laten aanmaken om de gebruiker te informeren: "U kunt de geselecteerde gebruiker niet verwijderen omdat deze nog lesgever is bij en van de groepen'.

Is er zoiets als een foreign key check?
Of anders: hoe doen jullie dat?

Dank,
Arnold
Je zou de MySQL error op kunnen vangen. Dat kan met [php]mysql_errno[/php]
Ja. Geweldig: werkt!


<?php
if (mysqli_errno($verbinding)==1451) {
    // controle of de query wordt tegengehouden door een foreign-key-constraint, errno #1451 is de melding voor fk-constraint fails
    echo "mededeling";
}
?>

Reageren