Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/11/2011, 13h26   #1
Futur Membre du Club
 
Inscription : octobre 2009
Messages : 96
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 96
Points : 17
Points : 17
Par défaut Foreign key mysql

salut
quand je crée une clé étrangère je peux toujours ajouter des lignes dans child même si ce n'est pas l ID du parent
Code :
1
2
3
4
5
6
7
8
9
 
CREATE TABLE parent(id INT NOT NULL,
                    PRIMARY KEY (id)
) 
CREATE TABLE child(id INT, parent_id INT,
                 CONSTRAINT fk FOREIGN KEY (parent_id)
                 REFERENCES parent(id)
 
)
je ne sais pas pourquoi pourtant la syntaxe est correcte
zoro007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2011, 14h31   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
Comme tu n'as pas spécifié le moteur dans la création des tables, vérifie qu'elles utilisent bien le moteur InnoDB.

Et à tout hasard, une colonne porteuse d'une clé étrangère doit être préalablement indexée. Je crois que c'est automatique avec MySQL mais je n'en suis pas sûr.
__________________
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 !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2011, 17h45   #3
Membre confirmé
 
Avatar de GyZmoO
 
Homme Mickaël
Ingénieur développement logiciels
Inscription : février 2006
Messages : 402
Détails du profil
Informations personnelles :
Nom : Homme Mickaël
Âge : 27
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : février 2006
Messages : 402
Points : 238
Points : 238
Envoyer un message via MSN à GyZmoO
"Je crois que c'est automatique avec MySQL mais je n'en suis pas sûr"

Pour les tables InnoDB en tout cas c'est automatique oui
__________________
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
GyZmoO est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h26.


 
 
 
 
Partenaires

Hébergement Web