|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 29 ![]() |
Bonjour à tous,
Voila j'ai l'habitude de travailler sous oracle ou sql server, seulement la je dois faire un projet avec mysql. Mon problème est que : J'aii une table profil et une table connexion. Je voudrais qu'on puisse enregistrer dans la table connexion que si le pseudo existe dans la table profil. Mais j'ai beau mettre des clès cela ne change en rien, on peut enregistrer n'importe quoi dans la table connexion.... Quelqu'un pourrait m'expliquer? Merci |
|
|
00
|
|
|
#2 |
![]() ![]() |
Donne la structure des tables, ce sera plus facile de répondre.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#3 | ||||||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 29 ![]() |
Voici la table connexion :
Code :
Code :
Les clès : Code :
|
||||||
|
|
00
|
|
|
#4 |
![]() ![]() |
Mauvais choix :
Tu devrais ajouter un identifiant de type entier auto-incrémenté. Comme tu n'as pas précisé le moteur InnoDB à la création des tables, c'est probablement le moteur MyISAM par défaut qui a été arbitrairement choisi par MySQL. Et MyISAM se moque totalement des clés étrangères ! Il accepte la syntaxe mais ne les implémente pas. Il faut passer au moteur InnoDB.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 29 ![]() |
Ok je vais modifier en InnoDb merci beaucoup,
|
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 29 ![]() |
Alors J'ai essayer en type INnoDb voici le code :
Code :
Seulement les contraintes ne fonctionne toujours pas :/ |
||
|
|
00
|
|
|
#7 | |
|
Expert Confirmé
![]() ![]() Avcxjo MoKoRetraité Inscription : novembre 2005 Messages : 2 527 ![]() |
Citation:
Question de performances, je présume.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof articles : Comment émuler un tableau croisé [quasi] dynamique et : Une énigme mathématique résolue avec MySQL recommande l'utilisation de PDO (PHP5 Data Objects) |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Qu'est-ce qui ne marche pas ?
Y a t-il un message d'erreur ? Quelle version de MySQL ? Le moteur innoDB est-il actif ? Citation:
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
|
00
|
|
|
#9 | |
![]() ![]() |
Ce n'est pas TYPE = InnoDB mais ENGINE = InnoDB
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Et toutes ces colonnes en CHAR augurent une future obésité de la base. Sans parler des redondances puisque beaucoup de colonnes vont contenir des infos similaires (LANGUEPARLER, TAILLE,CHEVEUX ,NIVETUDE, CATPROF, YEUX) mais impossibles à exploiter sauf à utiliser LIKE sytématiquement.
Je m'interroge sur LONGUEURCHEVEUX... pourquoi en CHAR et pas integer ? Enfin, je me permets de t'alerter sur la mémorisation ce genre de données qui est sévèrement encadrée en France (et peut-être ailleurs) !
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juillet 2009 Messages : 29 ![]() |
J'ai trouver le problème.
Effectivement la version mysql que j'utilisé n'était pas la bonne... Du coup il ne prenait pas en compte le InnoDb :/ Merci à tous |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com