begin process at 2008 08 20 11:50:14
1 228 769 membres
141 nouveaux aujourd'hui
14 257 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : probleme sur une insertion [ Autre / Divers ] (zyriuse)

probleme sur une insertion le 26/12/2007 14:40:01

zyriuse
bonjour
voila j essaye de faire un insert dans ma table fonction. se que je comprend pas cest pourquoi j ai une erreur est pourquoi il me parle de idemploye est idfonction vue qu il sont en auto increment.

insert into fonction
(type_fonction)
values ('cadre'),
('ingenieur');

est j ai une erreur


Cannot add or update a child row: a foreign key constraint fails (`infodis/fonction`, CONSTRAINT `fk_employe_fonction` FOREIGN KEY (`idfonction`) REFERENCES `employe` (`idemploye`))


voici le descriptif des tables
FONCTION

create table groupe (
idfonction int unsigned primary key auto_increment,
type_fonction varchar(30) not null
) engine=innodb;

EMPLOYE

create table employe (
idemploye int unsigned primary key auto_increment,
nom varchar(20) not null,
identreprise int unsigned not null,
key (identreprise),
idgroupe int unsigned not null,
key (idgroupe),
idcontrat int unsigned not null,
key (idcontrat),
idfonction int unsigned not null,
key (idfonction),
constraint fk_entreprise_employe foreign key (identreprise) references entreprise (identreprise),
constraint fk_groupe_employe foreign key (idgroupe) references groupe (idgroupe),
constraint fk_contrat_employe foreign key (idcontrat) references contrat (idcontrat),
constraint fk_fonction_employe foreign key (idfonction) references fonction (idfonction)
) engine=innodb;

 

encore merci a vous tous pour votre aide


 



Re : probleme sur une insertion le 26/12/2007 15:18:23

coq
(Admin CS)
Salut,

A voir une contrainte de clé étrangère nommée fk_employe_fonction et liant la colonne idfonction de la table fonction à la colonne idemploye de la table employe existe sur la table fonction.
D'après sa définition je suppose que c'est une erreur de définition de contrainte (du moins, dans le cas contraire la logique m'échappe complètement), si c'est bien le cas il faudrait peut être l'enlever...


/*
coq
MVP Visual C#
CoqBlog
*/

Re : probleme sur une insertion le 26/12/2007 16:39:04

zyriuse
desoler mais j ai pas compris la

Re : probleme sur une insertion le 26/12/2007 16:47:19

coq
(Admin CS)
Le message d'erreur dit :
Cannot add or update a child row: a foreign key constraint fails (`infodis/fonction`, CONSTRAINT `fk_employe_fonction` FOREIGN KEY (`idfonction`) REFERENCES `employe` (`idemploye`))

Cette contrainte fk_employe_fonction implique que la valeur insérée dans la colonne fonction.idfonction (en autoincrément donc) existe dans la colonne employe.idemploye.


/*
coq
MVP Visual C#
CoqBlog
*/

Re : probleme sur une insertion le 26/12/2007 16:57:20

zyriuse
ok d accord mais alors comment je peux faire  pour arriver a executer mais insert ??

Re : probleme sur une insertion le 26/12/2007 17:17:17

coq
(Admin CS)
Si cette contrainte est réellement invalide comme je le pense, supprime la (logiquement ALTER TABLE ... DROP CONSTRAINT, vérifier dans la doc de MySQL).


/*
coq
MVP Visual C#
CoqBlog
*/


Classé sous : fonction, key, employe, foreign, idfonction

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS