-
Bug à l'insertion
Bonjour
j'essaie de faire des insertions dans une table et j'ai cette erreur :
Code:
Cannot add or update a child row: a foreign key constraint fails
.
J'ai bien vérifié que la clé primaire et l'objet existent réellement.
Je veux aussi préciser le contexte.
La clé était au départ à 15 caractères et là on l'a augmentée à 16 caractères.
Est-ce que quelqu'un aurait une idée de ce qui peut être le problème.
je précise que pour tous les produits de 15 caractères, l'insertion se fait sans problème.
( la base de données est sous Mysql)
yannick
-
Questions bêtes...
La taille de la colonne de clé a-t-elle bien été mise à jour dans toutes les tables qui y font référence ?
Les index correspondant ont-ils été recréés ?
-
oui la taille des clés a été mises a jour dans les deux tables.
Et ce que je remarque c'est que certains enregistrements se font sans problème.
Mais tous ceux dont la taille de la clé correspond à la nouvelle taille font ce bug.
-
salut,
ça ressemble bien à un problème de non recréation de l'index après le changement...
ça donne quoi les show create de tes tables?
au passage c'est vraiment pas une bonne idée une clé primaire sur une colonne texte...
-
j' ai trouvé mon problème.
J'avais à déboguer une application ou la base de données est construite de façon très spéciale.
Il se trouve qu'il y a une table de la base de données qui ait pour clé primaire un varchar. or il se trouve que le client demande presque chaque année à faire évoluer la taille de cette clé( imaginez la merde que ça fait ! il faut vérifier dans toutes PS que toutes celle qui prennent en paramètre cette chaîne que la taille passée est correcte).
Il se trouve que dans mon cas il se trouvait que dans une PS la taille de la chaîne en param était incorrecte donc le traitement ne se faisait qu'avec une partie de la clé ce qui faisait un bug à l'insertion dans une table.
Merci à tous pour vos contributions.