|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Futur Membre du Club
![]() Étudiant Inscription : novembre 2008 Messages : 67 ![]() |
Bonjour,
j'ai un léger soucis dans mon projet actuel : Code :
Code :
Je ne comprend pas trop le pourquoi du comment de cet erreur... Quelqu'un aurait-il une idée ? |
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Il y a une erreur dans cette relation
Code :
Je n'ai pas vérifié le reste. Une erreur là pourrait avoir des réactions pour le moins imprévisible.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
||
|
01
|
|
|
#3 |
|
Futur Membre du Club
![]() Étudiant Inscription : novembre 2008 Messages : 67 ![]() |
Euh la classe à lier à "Institution" est bien la classe "Collaboration_internationale" et la table d'association (qui doit correspondre à ce que tu appelles une table de liaison.) est la table "InstitutionCollab".
|
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
D'où une erreur surprenante. L'erreur vient de la table : InstitutionCollab A priori de l'indexation du champ : collaboration_internationale_id Qui ne devrait pas être indexé seul, vu qu'il fait partie d'une clef primaire. Le message semble indiquer que cet indexation est "liée" (???) à la notion de cascade. Ce qui me laisse septique. Vérifies dans la table généré (avec phpMyAdmin par exemple) les indexe créés. Tu peux aussi essayer sans les cascades pour voir. Si tu as un index supplémentaire, il va falloir comprendre d'où il vient. Encore quelques soirées...
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
10
|
|
|
#5 |
|
Futur Membre du Club
![]() Étudiant Inscription : novembre 2008 Messages : 67 ![]() |
Merci de ton aide Michel !
En relisant en détail, il m'est apparu que : 1/ Il n'était pas pertinent de mettre la relations vers la table de liaison dans les institutions car inutile à connaître de ce côté là de la relation mais plutôt du côté des collaborations. 2/ Qu'une fois les modèles et les modules re-générés, celà marchait bien mieux. L'erreur venait au final du module que j'avais généré avec une version précédente du modèle (et donc du schéma) qui ne gérait pas correctement la relation n-n... (les index était collaboration_internationale_id et institution_id mais vu qu'une des deux foreign keys était sur collaboration_internationale_id, il montrait pour une raison mystérieuse cette contrainte...) Au final, j'ai résolu mon problème. Merci encore d'avoir passé du temps sur mon problème.
|
|
|
00
|
|
|
#6 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Je suis un peu surpris par ton point 1. En effet, les liaisons ne doivent être déclarées que d'un côté mais concernent systématiquement les deux côtés (propriété foreign). D'où mon interrogation.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Étudiant Inscription : novembre 2008 Messages : 67 ![]() |
Je m'exprime mal.
Oui, la liaison concernent les deux côtés, bien évidemment. J'ai trouvé plus pertinent de le mettre du côté "Collaboration" que du côté "Institution" car niveau affichage des données c'est là que ça sera présenté au niveau présentation des données. La réflexion n'est peut-être pas très pertinente, je le conçois mais c'est cette réflexion que j'ai eu. |
|
|
00
|
|
|
#8 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Je savais bien que l'on parlait de cette structure à plusieurs endroits !!!
Pour les liaisons n-1, le plus simple, côté rédaction, ce qui me semble important, est de les écrire du côté n de la relation, sur la table où est déclaré la clef externe de la liaison.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
10
|
|
|
#9 |
|
Futur Membre du Club
![]() Étudiant Inscription : novembre 2008 Messages : 67 ![]() |
Effectivement, il y a une sorte de doublons.
Ayant d'abord marqué comme "Résolu" le topic précédent, j'en ai recréer un autre pour un problème légèrement différent avant de me rendre compte que les deux étaient liés et donc de revenir au premier sujet en enlevant la mention "Résolu". |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com