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 :

Contrainte sur MySQL 5.0.45


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 90
    Par défaut Contrainte sur MySQL 5.0.45
    Salut,

    J'ai une erreur bizarre lors de la création d'une contrainte sur une table dans MySQL 5.0.45.
    Voici la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ALTER TABLE `vtiger_role2picklist` 
       ADD CONSTRAINT `fk_1_vtiger_role2picklist` FOREIGN KEY (`roleid`)
    REFERENCES `vtiger_role` (`roleid`) ON DELETE CASCADE
    Voici l'erreur retournée :
    Script line: 1 Can't create table '.\testbase\#sql-b78_e.frm' (errno: 150)
    Pour information : Les deux champs sont identiques (varchar(255)), je suis sur Windows XP SP2, mes tables sont en InnoDB et UTF8.

    Toutes aides seraient la bienvenue.

    Te-Deum.

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 949
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 949
    Par défaut
    il doit y avoir un INDEX où les clés étrangères sont listées comme première colonne, dans le même ordre, et dans la table référencée, il doit y avoir un INDEX où les colonnes référencées sont listées comme premières colonnes, dans le même ordre
    .

    vous pouvez utiliser la commande SHOW INNODB STATUS pour avoir une explication détaillée de la dernière erreur de clé étrangère InnoDB sur le serveur
    Source : http://dev.mysql.com/doc/refman/5.0/...nstraints.html

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 90
    Par défaut
    Salut qi130,

    Un admin vTiger m'a demandé d'exporter le script de création de la table avec la requête show create table vtiger_role2picklist. Je me suis rendu compte que l'encodage de la colonne roleid était du latin1 alors que j'ai migré toute ma base en utf8 (Encodage obligatoire pour la prochaine version de vTiger).
    J'ai donc changé l'encodage en utf8 et ca a fonctionné !

    Merci à toi de m'avoir mis sur une piste et pour information, le serveur m'a renvoyé ce message lors de l'execution de la requête : 'SHOW INNODB STATUS' is deprecated; use 'SHOW ENGINE INNODB STATUS' instead

    Pour information : Sur un environnement Windows comment puis-je facilement :
    1. Convertir facilement une base de latin1 vers utf8 (avec conversion des valeurs texte de la table)
    2. Convertir l'encodage par défaut de ma base

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/06/2011, 21h03
  2. [Mysql] contrainte sur valeur par defaut
    Par remond dans le forum Langage SQL
    Réponses: 1
    Dernier message: 13/11/2008, 19h13
  3. Contraintes de réfèrence sur MySQL ?
    Par mickdu90 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 23/12/2007, 00h17
  4. driver sur mySql
    Par sampq dans le forum Installation
    Réponses: 8
    Dernier message: 19/08/2003, 10h15
  5. possible sur MySQL 4.0 ?
    Par djforest dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/06/2003, 10h49

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