[RESOLU] #1217 - Cannot delete or update a parent row: a foreign key

Clementine
Invité n'ayant pas de compte PHPfrance

25 oct. 2006, 14:49

et tbl_properties_structure.php: Missing parameter: table

Bonjour

Voici le probleme que j'ai lorsque je veux supprimer une table de ma base.
Aucun enregistrement ne sont dans cette table, juste un champ et aucun index.
Auriez vous une idée d'ou cela pourrai venir ?
je précise que je suis sous mysql avec phpmyadmin.
merci d'avance

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

25 oct. 2006, 15:41

Le message d'erreur qui est dans le titre signifie que que tu essayes de modifier ou de supprimer une ligne dans ta base de données qui est la cible d'une clé étrangère, ce qui est impossible.

Le second message d'erreur laisse penser qu'il manque un argument à une fonction mais sans code, je ne pourrais en dire plus :roll:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Clementine
Invité n'ayant pas de compte PHPfrance

25 oct. 2006, 15:46

Ok merci. Je ne comprend pas "la cible d'une clé etrangère"

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 oct. 2006, 16:53

C'est une question d'intégrité.
Si tu as deux tables A et B et que dans B tu dis qu'il y a un champ qui se réfère à A (clé étrangère vers A), tu ne peux pas modifier ou supprimer l'enregistrement dans A puisqu'il existe un enregistrement "fils" dans B qui ne serait plus "intègre" si tu supprimais l'enregistrement auquel il fait référence :)

Bon après tout dépend de la contrainte mise en place entre ces deux tables, certaines permettent de supprimer B en cascade ou de modifier la valeur associée... mais comme ça tu as une idée générale de ce qui doit te bloquer :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

25 oct. 2006, 17:49

Tu manipules une base de données qui existe déjà ? Ce n'est pas toi qui l'as créée ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.