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

Requêtes MySQL Discussion :

Errno: 150 : j'ai tout essayé ! [MySQL-5.5]


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut Errno: 150 : j'ai tout essayé !
    Bonjour,

    voilà 1 heure que j'essaye désespérément de créer une FK (sur l'ensemble de la BDD à vrai dire)

    J'ai tout regardé, rien n'y fait :

    - il y a bien un index sur les deux tables
    - les deux types sont rigoureusement identiques (tailles et type)
    - les deux tables utilisent le même moteur (innoDb)
    etc...

    J'ai pris cette checklist : http://verysimple.com/2006/10/22/mys...frm-errno-150/

    Merci d'avance pour votre aide...

    Que puis-je donner comme info pour que vous puissiez m'aider ?
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  2. #2
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    ils ont oublié l'ordre des tables...
    montre tes 2 tables, dur de dire sinon...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Que voici :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    CREATE TABLE T_ESTABLISHMENT_ETB(
      etb_id BIGINT(20) NOT NULL AUTO_INCREMENT,
      etb_name VARCHAR(60) NOT NULL,
      etb_name_alt VARCHAR(255) DEFAULT NULL,
      etb_street VARCHAR(255) DEFAULT NULL,
      etb_street_2 VARCHAR(255) DEFAULT NULL,
      etb_geo_info VARCHAR(255) DEFAULT NULL,
      etb_tel VARCHAR(15) DEFAULT NULL,
      etb_tel_2 VARCHAR(15) DEFAULT NULL,
      etb_is_sitting INT(1) DEFAULT NULL,
      etb_is_sitting_count INT(4) DEFAULT NULL,
      etb_is_take_away INT(1) DEFAULT NULL,
      etb_is_drive INT(1) DEFAULT NULL,
      etb_lat DECIMAL(10, 6) DEFAULT NULL,
      etb_long DECIMAL(10, 6) DEFAULT NULL,
      etb_website VARCHAR(150) DEFAULT NULL,
      etb_status ENUM('offline', 'online', 'closed', 'in work', 'missing informations') NOT NULL DEFAULT 'offline',
      etb_facebook VARCHAR(150) DEFAULT NULL,
      etb_twitter VARCHAR(150) DEFAULT NULL,
      etb_email VARCHAR(50) DEFAULT NULL,
      etb_is_wifi INT(1) DEFAULT NULL,
      etb_is_terrace INT(1) DEFAULT NULL,
      etb_is_terrace_sunny INT(1) DEFAULT NULL,
      etb_is_terrace_count INT(4) DEFAULT NULL,
      etb_is_terrace_sunny_count INT(4) DEFAULT NULL,
      etb_is_air_conditioning INT(1) DEFAULT NULL,
      etb_is_smoke_area INT(1) DEFAULT NULL,
      etb_is_bio INT(1) DEFAULT NULL,
      etb_is_vegetarian INT(1) DEFAULT NULL,
      etb_is_halal INT(1) DEFAULT NULL,
      etb_is_kosher INT(1) DEFAULT NULL,
      etb_customer_card INT(1) DEFAULT NULL,
      etb_menu_start_price DECIMAL(3, 1) DEFAULT NULL COMMENT 'A menu is composed at least with 2 elements',
      etb_is_menu_unlimited INT(1) DEFAULT NULL,
      etb_menu_unlimited_price DECIMAL(3, 1) DEFAULT NULL,
      etb_is_meal_voucher INT(1) DEFAULT NULL,
      etb_is_credit_card INT(1) DEFAULT NULL,
      etb_credit_card_start_price DECIMAL(3, 1) DEFAULT NULL,
      etb_is_credit_card_delivery INT(1) DEFAULT NULL,
      etb_credit_card_delivery_start_price DECIMAL(3, 1) DEFAULT NULL,
      etb_is_cheque INT(1) DEFAULT NULL,
      etb_cheque_start_price DECIMAL(3, 1) DEFAULT NULL,
      etb_take_away_reduction VARCHAR(60) DEFAULT NULL,
      etb_url VARCHAR(255) DEFAULT NULL,
      etb_quality INT(5) DEFAULT NULL,
      etb_meta_title VARCHAR(73) NOT NULL,
      etb_is_franchise INT(11) DEFAULT NULL,
      etb_id_parent BIGINT(20) NOT NULL,
      txt_id BIGINT(20) DEFAULT NULL,
      PRIMARY KEY (etb_id),
      INDEX etb_id_parent (etb_id_parent)
    )
    ENGINE = INNODB
    AUTO_INCREMENT = 1
    CHARACTER SET utf8
    COLLATE utf8_general_ci;
    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
    CREATE TABLE T_FEEDBACK_FBK(
      fbk_id BIGINT(20) NOT NULL AUTO_INCREMENT,
      etb_id BIGINT(20) NOT NULL,
      usr_id BIGINT(20) NOT NULL COMMENT 'NULL If fbk_unregistred_user IS NOT NULL',
      fbk_unregistred_name VARCHAR(60) DEFAULT NULL COMMENT 'NULL if usr_id is not NULL',
      fbk_date_creation INT(11) DEFAULT NULL,
      fbk_rate_quality_price DECIMAL(2, 1) NOT NULL,
      fbk_rate_speed_service DECIMAL(2, 1) NOT NULL COMMENT '(or speed delivery)',
      fbk_rate_choice DECIMAL(2, 1) NOT NULL,
      fbk_surfer_ip VARCHAR(25) NOT NULL,
      fbk_surfer_host VARCHAR(60) NOT NULL,
      fbk_hash VARCHAR(32) NOT NULL,
      fbk_status ENUM('pending', 'ok', 'refused', 'to be moderate') DEFAULT NULL,
      PRIMARY KEY (fbk_id),
      INDEX idx_fbk_etb_id (etb_id)
    )
    ENGINE = INNODB
    AUTO_INCREMENT = 1
    CHARACTER SET utf8
    COLLATE utf8_general_ci;

    il s'agit de la colonne etb_id

    Merci d'avance

    ps : la table etb a été créée la première
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  4. #4
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    vire l' index de ta fk dans ta deuxième table en innodb une fk est auto indexée
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Je l'ai ajouté car j'ai lu qu'il fallait l'ajouter (voir d'ailleurs le site avec les checkpoints)
    Et donc ça ne change rien pour le problème
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  6. #6
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    c'est pas comme ça qu'on déclare un fk tu dois utiliser:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    constraint idx_fbk_etb_id foreign key references T_ESTABLISHMENT_ETB(etb_id)

    en fait là tu n'as pas de foreign key
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Oui je n'en ai pas car c'est justement mon problème

    Ta syntaxe est à appliquer lors de la création de la table, moi je cherche à le faire fonctionner en ALTER
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    J'ai réinstallé un wamp tout neuf avec un MySQL plus récent, je n'ai plus le problème

    Merci pour ton aide
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  9. #9
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    ah elle t'es donnée dans la doc mysql plus bas en fait...

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table T_FEEDBACK_FBK add constraint fk_etb_id foreign key(etb_id) references T_ESTABLISHMENT_ETB(etb_id);
    là tu as la fk nommée fk_etb_id et l'index qui est automatiquement créé dessus... vérifie dans phpmyadmin par exemple et drop l'index en double dessus si il existe déjà...
    pour détruire un fk comme celle là:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    drop foreign key fk_etb_id;
    c'est plus simple comme ça et pour les versions récentes de mysql ça crée bien automatiquement les index...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

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

Discussions similaires

  1. #1005 - Can't create table (errno: 150)
    Par teophane dans le forum Requêtes
    Réponses: 6
    Dernier message: 05/12/2011, 09h53
  2. Réponses: 1
    Dernier message: 28/08/2008, 09h33
  3. Can t create table (errno 150)
    Par yohann26 dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/05/2008, 15h07
  4. CorruptedStreamException! j'ai tout essayé sans succès.
    Par shaka.zulu dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 13/05/2008, 09h21
  5. Sasser j'ai tout essayé
    Par bohor2gannes dans le forum Sécurité
    Réponses: 5
    Dernier message: 22/10/2007, 22h17

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