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

SQL Procédural MySQL Discussion :

code erreur 150 SQL (Errcode: 150 "Foreign key constraint is incorrectly formed")


Sujet :

SQL Procédural MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    prof d'art
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : prof d'art
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Par défaut code erreur 150 SQL (Errcode: 150 "Foreign key constraint is incorrectly formed")
    Bonjour à tous,

    Je viens chercher de l'aide ici car cela me semble adéquate, mais sachez que malheureusement je ne connais rien du langage/fonctionnement SQL

    Je suis en fait bloqué à cause d'une erreur lors d'une migration d’hébergeur de mon site perso.


    Chez mon nouvel hébergeur ils me répondent qu'il ne peuvent intervenir car ils ne connaissent pas le langage sql, donc à moi de me débrouiller....et je ne le peux absolument pas....

    Donc pour faire court, lors de l'ouverture et le transfert de mon site+data vers ce nouvel hébergeur, lorsque j'importe ma ou mes dernières bases de données dans phpmyadmin, j'obtient ce message d'erreur :

    Erreur
    Requête SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE `wp_slim_outbound` ( `outbound_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `outbound_domain` varchar(255) DEFAULT '', `outbound_resource` varchar(2048) DEFAULT '', `type` tinyint(3) unsigned DEFAULT '0', `notes` varchar(512) DEFAULT '', `position` varchar(32) DEFAULT '', `id` int(10) unsigned NOT NULL DEFAULT '0', `dt` int(10) unsigned DEFAULT '0', PRIMARY KEY (`outbound_id`), KEY `odt_idx` (`dt`), KEY `fk_wp_id` (`id`), CONSTRAINT `fk_wp_id` FOREIGN KEY (`id`) REFERENCES `wp_slim_stats` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    MySQL a répondu: Documentation

    #1005 - Ne peut créer la table `nicopointcom_bddmysql`.`wp_slim_outbound` (Errcode: 150 "Foreign key constraint is incorrectly formed") (Détails…)
    je ne vous donne pas d'autres détails pour l'instant.En cherchant sur différents tutos j'ai trouvé quelques bribes d'infos mais je suis trop limité pour intervenir et réussir à solver ce problème avec ce langage.

    Si quelqu'un peut m'aider.

    cdt

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 544
    Billets dans le blog
    10
    Par défaut
    Si vous ne connaissez pas SQL, ça va être compliqué de vérifier votre installation et de corriger les erreurs

    Le plus simple serait de déléguer cette tache à un collègue qui maitrise les fondamentaux

    Dans l'attente, vérifiez que les deux tables (celle dont le create table plante et la table parente vers laquelle porte la contrainte) sont sur le même moteur innodb, que la référence porte sur une colonne qui est unique dans la table parente et porte bien un index, et que les types de colonnes sont identiques dans les deux tables.

  3. #3
    Candidat au Club
    Homme Profil pro
    prof d'art
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : prof d'art
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Par défaut
    Bonjour,

    Merci pour votre réponse rapide...malheureusement je ne connais personne qui puisse m'aider dans l'entourage...y compris mon hébergeur, même si il est sympathique.
    Pour votre deuxième phrase...et bien..... je suis déjà perdu.

    J'ai remarqué, après 15 ou 20 heures de tests, tutos, punching ball, que : j'ai une (très vielle) base de données qui fonctionne ! si je vous donne celle ci et une plus récente (qui elle ne fonctionne pas) pourrait on les "fusionner" ou pourrait on faire quelques chose? histoire de retrouver mon site sans avoir à travailler un an dessus vous voyez?
    Je vais demander ceci à mon hébergeur entre temps, mais je suis sur qu'ils vont me dire de me débrouiller....

    (J'ai essayer d'éditer cette base de données récente... mais après essai je pense que l'univers m'a dit "non ne le fais plus")

    à bientot

    cdt

  4. #4
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 778
    Par défaut
    Salut nicopointcom .

    La réponse à votre problème se trouve là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      `id` int(10) unsigned NOT NULL DEFAULT '0',
      CONSTRAINT `fk_wp_id` FOREIGN KEY (`id`) REFERENCES `wp_slim_stats` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
    Dans votre table, vous utilisez la colonne "id" comme clef étrangère.
    Vous utilisez le type "int(10) unsigned".

    Dans la table "wp_slim_stats", vous avez une colonne de nom "id".
    Le type doit être aussi "int(10) unsigned".
    Si ce n'est pas le cas alors vous devez corriger l'une de vos table afin d'obtenir le même type.

    @+

  5. #5
    Candidat au Club
    Homme Profil pro
    prof d'art
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : prof d'art
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Par défaut
    Bonjour,

    Merci du bcp du retour.


    dans la table wp_slim_outbound j'ai :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    `id` int(10) unsigned NOT NULL DEFAULT '0'
    dans la table wp_slim_stats j'ai :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT


    pour moi les deux sont du type :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    `id` int(10) unsigned

    Faut il les mettre exactement à l'identique ensuite?

    Une question, j'ai essayé de supprimer la table entière wp_slim_outbound et l'importation à marché ; toutefois sur mon site je ne retrouve pas mes fonds (images) sur toutes mes pages et j'ai quelques images qui ont disparues dans certains/bcp d'articles> à votre avis est ce lié ou pas?
    Je rappele que j'ai pu importer une très (très) vielle base de donnée et aucun soucis au niveau du contenu, si ce n'est ensuite que je dois revoir le css du theme et plein de bidouilles faites en qq années...


    merci

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    bonjour,

    Vérifiez également que la création de la table wp_slim_outbound a lieu après la création de la table wp_slim_stats.

  7. #7
    Candidat au Club
    Homme Profil pro
    prof d'art
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : prof d'art
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Par défaut
    Bonjour,

    excusez moi mais vous n'avez pas répondu à mes questions...

  8. #8
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 544
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 544
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par nicopointcom Voir le message
    dans la table wp_slim_outbound j'ai :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    `id` int(10) unsigned NOT NULL DEFAULT '0'
    dans la table wp_slim_stats j'ai :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT
    pour moi les deux sont du type :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    `id` int(10) unsigned

    Faut il les mettre exactement à l'identique ensuite?
    Oui les deux sont bien du même type, c'est donc ok sur ce critère, l'autoincrément n'est bien sur à positionner que sur la table mère, pas dans la table qui a la contrainte reference, ça n'aurait aucun sens

    Par contre avez vous vérifié que les deux tables sont bien sur le même moteur et que vous créez la table fille (`wp_slim_outbound`) après avoir créé et chargé la table mère (`wp_slim_stat`)

    Citation Envoyé par nicopointcom Voir le message
    Une question, j'ai essayé de supprimer la table entière wp_slim_outbound et l'importation à marché ; toutefois sur mon site je ne retrouve pas mes fonds (images) sur toutes mes pages et j'ai quelques images qui ont disparues dans certains/bcp d'articles> à votre avis est ce lié ou pas?
    Bien sur, si la cardinalité entre les deux tables sont bien [wp_slim_stat] 0,n --- Posseder --- 1,1 [wp_slim_outbound] alors aucun souci, outbound est facultative
    Et du coup, si la table non chargée est celle des images, ceci explique celà

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/12/2007, 21h10
  2. Réponses: 2
    Dernier message: 09/08/2007, 12h38
  3. Message d'erreur 'violation of FOREIGN KEY constraint' de Interbase
    Par abdelghani_k dans le forum Bases de données
    Réponses: 3
    Dernier message: 03/06/2007, 09h11
  4. [C#/MS ACCESS] foreign key constraint
    Par GeantVert13 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 01/09/2006, 22h38
  5. [clés étrangères] a foreign key constraint fails
    Par guidav dans le forum Débuter
    Réponses: 15
    Dernier message: 09/08/2006, 23h50

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