Requete DELETE clé étrangère

Résolu
ntaie41 Messages postés 18 Statut Membre -  
ntaie41 Messages postés 18 Statut Membre -
Bonjour,

J'aimerai faire une requête me permettant de supprimer une entrée dans la bbd ou l'id serai renseignée mais il y a une clé étrangère et mysql n'apprécie pas...
la requête:
$requete = "ON DELETE FROM Invitation WHERE id_invitation = :unID";

l'erreur:
Cannot delete or update a parent row: a foreign key constraint fails

Une solution ? Merci d'avance

4 réponses

  1. jeremy.s Messages postés 1248 Statut Membre 79
     
    Salut !

    Il faut d'abbord que tu supprimes les ou la ligne(s) des ou de la table(s) ou tu as ton id_invitation
    0
  2. ntaie41 Messages postés 18 Statut Membre
     
    J'ai ma requête:
    function deleteinvitation($id_invitation)
    {
    	$cnx=bddconnect(); 
    	$requete = "ON DELETE FROM Invitation WHERE id_invitation = :unID";
    	$stmt = $cnx->prepare($requete); 
    	$stmt->bindParam(':unID', $id_invitation);
    	$stmt->execute();
    }
    
    Il y a pas un moyen pour le faire automatiquement ?
    0
  3. jeremy.s Messages postés 1248 Statut Membre 79
     
    Bah si tu sais dans quelle(s) table(s) ton id_invitation est, tu peux :

    function deleteinvitation($id_invitation)
    {
    $cnx=bddconnect();
    $del = $cnx->prepare("DELETE FROM table WHERE id_invitation = :unID");
    $del->execute(array('unID'=>$id_invitation));
    $requete = "ON DELETE FROM Invitation WHERE id_invitation = :unID";
    $stmt = $cnx->prepare($requete);
    $stmt->bindParam(':unID', $id_invitation);
    $stmt->execute();
    }

    0
  4. ntaie41 Messages postés 18 Statut Membre
     
    Merci :)
    0