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

 MySQL Discussion :

error code 1005 lors d'une création de table


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 74
    Par défaut error code 1005 lors d'une création de table
    Bonjour à tous. Lors de l'éxécution de cette requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE postit (id INT(7) AUTO_INCREMENT,
                          idemp VARCHAR(8),
                          texte text,
                          date date,
                          PRIMARY KEY(id),
                          INDEX (idemp),
                          FOREIGN KEY (idemp)
                            REFERENCES employe(idemp) ON UPDATE CASCADE ON DELETE CASCADE);
    j'ai l'erreur suivante : Error Code: 1005. Can't create table 'smn.postit' (errno: 150)
    Après de nombreuses recherches, il apparaîtrait que cette erreur provient de le génération de la clé étrangère : hors, les paramètres des 2 sont les mêmes, que ce soit au niveau du nom ou du type. De plus, j'ai bien fait attention à déclarer l'index avant la clé étrangère.
    Si certains ont des idées,parce que là, l'erreur doit être tellement grosse que je la vois pas.
    (Sinon, oui, je sais, une clé primaire en Varchar c'est mal.)

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 103
    Par défaut
    Salut,

    Pourrait-on voir entièrement ta table "employe" stp ?

    Merci d'avance.

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 445
    Par défaut
    Si ça se trouve il n'y a pas "idemp" dans employe, mais juste "id"

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 74
    Par défaut
    Citation Envoyé par Fred_34 Voir le message
    Si ça se trouve il n'y a pas "idemp" dans employe, mais juste "id"
    non, ça c'est bon.

    Citation Envoyé par Gannox Voir le message
    Salut,

    Pourrait-on voir entièrement ta table "employe" stp ?

    Merci d'avance.
    voilà :
    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
    CREATE TABLE `employe` (
      `IDEMP` varchar(8) NOT NULL,
      `IDSITE` int(3) DEFAULT NULL,
      `IDADRESSE` int(7) DEFAULT NULL,
      `NOMEMP` varchar(20) NOT NULL,
      `PRENOMEMP` varchar(20) NOT NULL,
      `ACTIF` int(1) NOT NULL DEFAULT '1',
      PRIMARY KEY (`IDEMP`),
      KEY `IDX_EMPLOYE_FK1` (`IDADRESSE`),
      KEY `IDX_EMPLOYE_FK2` (`IDSITE`),
      KEY `IDX_ACTIF` (`ACTIF`),
      KEY `IDX_EMPLOYE` (`IDEMP`),
      CONSTRAINT `FK_EMPLOYE_1` FOREIGN KEY (`IDADRESSE`) REFERENCES `adresse` (`IDADRESSE`) ON DELETE SET NULL ON UPDATE CASCADE,
      CONSTRAINT `FK_EMPLOYE_2` FOREIGN KEY (`IDSITE`) REFERENCES `site` (`IDSITE`) ON DELETE CASCADE ON UPDATE CASCADE
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 445
    Par défaut
    C'est à cause du

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 74
    Par défaut
    Citation Envoyé par Fred_34 Voir le message
    C'est à cause du

    Et oui, tout simplement. merci.

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2011
    Messages : 74
    Par défaut
    Pour ceux que ça intéresse par la suite, voici ma requête finale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE postit (id INT(7) AUTO_INCREMENT,
                          idemp VARCHAR(8),
                          texte text,
                          date date,
                          PRIMARY KEY(id),
                          INDEX (idemp),
                          FOREIGN KEY (idemp)
                            REFERENCES employe(idemp) ON UPDATE CASCADE ON DELETE CASCADE) 
                        charset=latin1;  -- La p'tite ligne qui manquait qui m'a bouffé la matinée

  8. #8
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 103
    Par défaut
    D'après une recherche sur le sujet, on pourrait créer ton index de cette manière :

    INDEX (idemp);
    CREATE INDEX unid ON employe (idemp);

    Essaies ça pour voir et dis moi ce que ça fait.

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

Discussions similaires

  1. [1.x] 404 error by the action "membre/create" : lors d'une création de compte
    Par identifiant_bidon dans le forum Débuter
    Réponses: 7
    Dernier message: 04/01/2011, 16h56
  2. Erreur: 1005 lors de la création d'une table
    Par developppez dans le forum MySQL
    Réponses: 3
    Dernier message: 15/12/2008, 15h45
  3. probleme lors d'une création d'animation par le code
    Par Finality dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 13/10/2008, 21h12
  4. Réponses: 3
    Dernier message: 30/05/2006, 12h07
  5. Location install lors d'une création de MSI sous VS Net 2003
    Par jeff37 dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 02/03/2006, 07h43

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