[SQL] Erreur SQL
Fermé
Ju
-
19 janv. 2006 à 10:41
fifouta Messages postés 12 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 14 février 2012 - 2 nov. 2008 à 11:44
fifouta Messages postés 12 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 14 février 2012 - 2 nov. 2008 à 11:44
bonjour a tous,
je voudrais savoir quels sont les causes et comment remédier a ce message d'erreur :
Impossible d'ajouter un enregistrement fils : une constrainte externe l'empèche
Merci d'avance
bonne journée
je voudrais savoir quels sont les causes et comment remédier a ce message d'erreur :
Impossible d'ajouter un enregistrement fils : une constrainte externe l'empèche
Merci d'avance
bonne journée
A voir également:
- [SQL] Erreur SQL
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- J'aime par erreur facebook notification - Forum Facebook
- Java code erreur 1603 ✓ - Forum Windows
3 réponses
Je vais apporter plus de précisions vu la bousculade pour m'aider lol
Cette erreur est générée a l'issue de cette requete:
INSERT INTO concerner(NumSupp, NumSign, DateDebut, DateFin, DateRupt, TypeC, TxMensr, Com, BH)VALUES('1-801V','','12/09/2005','11/09/2006','','CAE','30%','','20h')
NumSupp et NumSign sont des clés érangères et ma base de données est en InnoDB
Cette erreur est générée a l'issue de cette requete:
INSERT INTO concerner(NumSupp, NumSign, DateDebut, DateFin, DateRupt, TypeC, TxMensr, Com, BH)VALUES('1-801V','','12/09/2005','11/09/2006','','CAE','30%','','20h')
NumSupp et NumSign sont des clés érangères et ma base de données est en InnoDB
Je vais essayer d'être maintenant plus général, sa vous motivera peut etre un peu plus pour m'aider! lol
Voila ma question : Comment fait-on pour générer des clés étrangères sous mySQL sous le format innoDB ?
J'ai lu qu'il fallait créer les INDEX nécessaires au préalable, pouvez-vous m'en dire plus?
Voila ma question : Comment fait-on pour générer des clés étrangères sous mySQL sous le format innoDB ?
J'ai lu qu'il fallait créer les INDEX nécessaires au préalable, pouvez-vous m'en dire plus?
fifouta
Messages postés
12
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
14 février 2012
2 nov. 2008 à 11:44
2 nov. 2008 à 11:44
bonjour,
je vais donner un exemple en m'inspirant de mon propre projet :
la création de mes tables se fait via un scrpit php :
chaque type d'incident est affecté à un utilisateur spécifique , il faut d'abord créer la table hd_utilisateur ensuite la table hd-type_incident , le type INNODB est trés susceptible aux relations.
en effet on crée les index sur les clés étrangères .
mo message arrive en retard mais j'espère que ça va aider certains d'entre vous ;)
cordialement
je vais donner un exemple en m'inspirant de mon propre projet :
la création de mes tables se fait via un scrpit php :
$link = " CREATE TABLE `hd_utilisateur` ( `id_user` int(11) NOT NULL auto_increment PRIMARY KEY, `nom` text NOT NULL, `prenom` text NOT NULL, `email` varchar(255) NOT NULL, `username` varchar(16) NOT NULL, `passwd` varchar(50) NOT NULL, `telephone` varchar(50) NOT NULL, `user_mobile` varchar(50) NOT NULL, `poste_interne` varchar(50) NOT NULL, `fax` varchar(50) NOT NULL, `adresse` varchar(200) NOT NULL, `profession` text NOT NULL, `operateur_helpdesk` text NOT NULL, `fk_division` int(11), FOREIGN KEY(fk_division) REFERENCES hd_division(id_division) ON DELETE CASCADE ON UPDATE CASCADE, INDEX(fk_division), INDEX(id_user) )TYPE=INNODB;"; $res = mysql_query($link) or die(mysql_error()); $link = " CREATE TABLE `hd_type_incident` ( `id_type_incident` int(11) NOT NULL auto_increment PRIMARY KEY, `type_incident` text NOT NULL, `description` varchar(200) NOT NULL, `fk_user` int(11), FOREIGN KEY(fk_user) REFERENCES hd_utilisateur(id_user) ON DELETE CASCADE ON UPDATE CASCADE, INDEX(fk_user) )TYPE=INNODB;"; $res = mysql_query($link) or die(mysql_error());
chaque type d'incident est affecté à un utilisateur spécifique , il faut d'abord créer la table hd_utilisateur ensuite la table hd-type_incident , le type INNODB est trés susceptible aux relations.
en effet on crée les index sur les clés étrangères .
mo message arrive en retard mais j'espère que ça va aider certains d'entre vous ;)
cordialement
19 janv. 2006 à 15:41
Ta clé étrangère numSign elle parait avoir une valeur bizarre pour une clé
étrangère : ''
A+, crabs
19 janv. 2006 à 15:53
19 janv. 2006 à 16:19
dans la table dont elle est la clé primaire avant de pouvoir être ajoutée dans une
ligne d'une table dans laquelle elle représente une relation.
Donc pour moi, impossible d'avoir une clé étrangère en auto_increment dans
une table relation.
A+, crabs