|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Etudiant Inscription : octobre 2011 Messages : 80 ![]() |
Le bien bonjour à toutes et à tous, voilà j'arrive pas à crée deux tables avec clef étranger voilà mon code
Code :
1005 - Can't create table 'Texloud.tree_elements' (errno: 150) Merci d'avance |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Un classique ! Et manifestement, tu ne t'es pas donné la peine de chercher...
La doc MySQL explique tout ça très bien, à condition de la lire.
__________________
"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 |
|
|
01
|
|
|
#3 |
![]() ![]() |
Il faut que la colonne portant la clé étrangère soit indexée. Pas sûr que MySQL fasse cela automatiquement.
__________________
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
|
|
|
#4 | ||
|
Futur Membre du Club
![]() Etudiant Inscription : octobre 2011 Messages : 80 ![]() |
Si j'ai bien compris voilà les modification que j'ai apporter
Code :
|
||
|
|
00
|
|
|
#5 | |||
|
Futur Membre du Club
![]() Etudiant Inscription : octobre 2011 Messages : 80 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
Qu'est-ce qui ne marche pas exactement ? Soyez un peu précis c'est incompréhensible pour une personne extérieur à votre problème
|
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Etudiant Inscription : octobre 2011 Messages : 80 ![]() |
|
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 873 ![]() |
Citation:
en myisam, ça serait moins sur... bien qu'il me semble que ce soit la seule chose qui est prise en charge dans la déclaration de la clé étrangère... je le répéterais jamais assez: "google ou autre moteur de recherche peut être ton ami" ![]() #erreur 1005: table non créée... code 150: problème lié à la définition de la contrainte sur la clé étrangère... de plus, une bonne pratique est de nommer les index et contraintes... ça peut aider quand on regarde les structure de données... vire l'index sur l'id utilisateur, il fait doublon avec la clé étrangère et peut engendrer le problème de contrainte d'intégrité, même si normalement non...
__________________
Eric Dureuil, développeur web, c/c++, java indépendant soyons ![]() pensez à mettre et
|
|
|
|
00
|
|
|
#9 | |
|
Futur Membre du Club
![]() Etudiant Inscription : octobre 2011 Messages : 80 ![]() |
Citation:
|
|
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 873 ![]() |
vire l'index et, si ça marche toujours pas, regarde la définition de ta contrainte de clé étrangère et ce qui peut la violer...
essaye de faire une écriture de tes clé avec les noms, si possible normalisé pour avoir aussi une bonne habitude... ![]() tu peux utiliser: ...pour avoir la dernière erreur innodb
__________________
Eric Dureuil, développeur web, c/c++, java indépendant soyons ![]() pensez à mettre et
|
|
|
00
|
|
|
#11 | ||
![]() ![]() |
J'ai trouvé la cause de ton erreur :
Code :
Du coup, quand tu crées la clé étrangère faisant référence à la colonne idutilisateur, MySQL ne la trouve pas et retourne l'erreur mais sans expliquer pourquoi. Il devrait être un peu plus verbeux sur le coup !
__________________
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
|
|
|
#12 | |||
|
Futur Membre du Club
![]() Etudiant Inscription : octobre 2011 Messages : 80 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#13 |
![]() ![]() |
En fait j'ai mal rédigé mon message, ce n'est pas le 'a' qu'il manque mais le second 'i' !
Je viens de tester en corrigeant et ça fonctionne chez moi ; les deux tables sont créées.
__________________
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
|
|
|
#14 |
|
Futur Membre du Club
![]() Etudiant Inscription : octobre 2011 Messages : 80 ![]() |
|
|
|
00
|
|
|
#15 | ||
![]() ![]() |
C'est ton code en corrigeant simplement le nom de la colonne dans la table utilisateur.
Code :
__________________
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
|
Copyright © 2000-2012 - www.developpez.com