IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

probleme importation données


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Par défaut probleme importation données
    Bonjour:

    voici la base que j'ai créée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    create table if not exists Branche_Direction (
    	IdBranche INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    	NomBranche VARCHAR(50)
    	);
     
    create table if not exists Secteur (
    	IdSecteur INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    	NomSecteur VARCHAR(50),
    	IdBranche INT NOT NULL,
    	INDEX FK_secteurindex ( IdBranche ),
    	FOREIGN KEY (IdBranche) REFERENCES  Branche_Direction(IdBranche) ON UPDATE CASCADE ON DELETE CASCADE
    	);
     
    create table if not exists Categorie (
    	IdCategorie INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    	NomCategorie VARCHAR (50)
    	);
     
     
    create table if not exists personne (
    	idPersonne INT not null PRIMARY KEY AUTO_INCREMENT,
    	nomPersonne VARCHAR(50) not null,
    	prenomPersonne VARCHAR(50) not null,
    	login varchar(20) not null,
    	motDePasse varchar(41) not null,
    	mail varchar(60) not null,
    	admin char(1) not null,
    	idCategorie INT  DEFAULT 4,
    	idSecteur INT  DEFAULT 4,
    	INDEX FK_personnecategorieindex ( idcategorie ) ,
    	INDEX FK_personnesecteurindex ( idsecteur ) ,
    	FOREIGN KEY ( idCategorie ) REFERENCES Categorie(idCategorie) ON UPDATE CASCADE ON DELETE SET null,
    	FOREIGN KEY ( idSecteur ) REFERENCES Secteur( idSecteur ) ON UPDATE CASCADE ON DELETE SET null
    	);
     
     
    INSERT INTO categorie VALUES (1,"Agents"),(2,"Cadres"),(3,"Direction"),(4,"aucune");

    le probleme est que je veux importer des données d'un table existante de Personne, mais qui contient seulement
    idpersonne,nompersonne,prenompersonne[...] mail, admin (pas de idcategorie ni idsecteur)

    je fais donc:

    INSERT INTO manouvellebase.personne(idpersonne,nompersonne[...]mail,admin SELECT * FROM monanciennebase.personne;

    et la: cannot add or update a child row: a foreign key constraint fails.


    y at-il un moyen de regler le probleme? ai-je mal créé mes tables?
    merci de votre aide.



    edit: je travaille avec MySQL 4.1 et les tables sont sous innoDB.

  2. #2
    Membre chevronné
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    Salut !

    C'est normal, dans la mesure où tu as deux clés étrangères dans la table personne, les contraintes seront vérifiées à chaque insertion/maj de données. Du coup ici comme tu essayes d'importer des données sans mettre de valeurs dans ces champs, la contrainte est à chaque violée ==> erreur.

    Si vraiment tu veux importer ces champs tu peux forcer de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SET FOREIGN_KEY_CHECKS = 0;
    ...
    Tout tes INSERT ici
    ...
    SET FOREIGN_KEY_CHECKS = 1;
    Je n'ai jamais testé, mais c'est dans le manuel MySQL en tout cas !
    La vitesse de la lumière étant supérieure à la vitesse du son, certaines personnes brillent encore tant qu'elles n'ont pas parlé
    -----------------------------------------------------------
    Retrouvez mes articles informatique sur mon Site Developpez.
    Le reste, sur le Site perso !


  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 23
    Par défaut
    C'est cool ca marche très bien.
    J'avais plusieurs erreurs du meme type ca fait 3 jours que je bloquais dessus.
    Merci


    si j'ai pas donné de valeurs c'est parce que je croyais que le default 4 s'appliquerait... mais non.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Probleme importation donnée
    Par Aladin_23 dans le forum IHM
    Réponses: 3
    Dernier message: 06/09/2013, 11h05
  2. Probleme importation base de donnée
    Par theophile76 dans le forum Requêtes
    Réponses: 4
    Dernier message: 13/10/2012, 16h51
  3. [XL-2010] Probleme importation données txt
    Par vvillss dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/09/2011, 20h31
  4. Probleme import base de donnée oracle 10g
    Par opensource dans le forum Import/Export
    Réponses: 6
    Dernier message: 15/04/2009, 14h39
  5. [VB.NET] Import donnes d'excel : chiffres et lettres
    Par JohnGT dans le forum Windows Forms
    Réponses: 5
    Dernier message: 19/10/2004, 18h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo