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 :

Création de tables et FULLTEXT index


Sujet :

MySQL

  1. #1
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Points : 87
    Points
    87
    Par défaut Création de tables et FULLTEXT index
    Bonjour à tous,

    Je tente d'installer (upgrade) la dernière version beta de vBulletin. Le script automatique de mise à jour me donne cette erreur.

    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
    Step 1) Misc Table Alterations (Step 1 of 10) 
     
    Database error in vBulletin 3.8.4:
     
    Invalid SQL:
    CREATE TABLE tmp_searchcore_text (
                searchcoreid INT UNSIGNED NOT NULL,
                keywordtext MEDIUMTEXT,
                title VARCHAR(255) NOT NULL DEFAULT '',
                PRIMARY KEY (searchcoreid),
                FULLTEXT KEY text (title, keywordtext)
            ) ENGINE=MyISAM;
     
    MySQL Error   : Column 'title' cannot be part of FULLTEXT index
    Error Number  : 1283
    Request Date  : Saturday, November 14th 2009 @ 11:17:25 PM
    Error Date    : Saturday, November 14th 2009 @ 11:17:26 PM
    Script        : http://www.domaine.ltd/testvb/install/upgrade_400a1.php?step=1
    Referrer      : https://www.domaine.ltd/testvb/install/upgrade_400a1.php
    IP Address    : xxx.xxxx.xxx.xxx
    Username      : 
    Classname     : vB_Database_MySQLi
    MySQL Version : 5.0.51a-24+lenny2
     
    Stack Trace:
    #0  vB_Database->halt() called at [/home/domaine.ltd/http/testvb/install/upgradecore.php:1422]
    #1  vB_UpgradeQueries->execute() called at [/home/domaine.ltd/http/testvb/install/upgrade_400a1.php:570]
    Je sais que je ne suis pas sur un forum de support vBulletin mais en y regardant de plus prêt, il bloque sur une requête CREATE TABLE. J'ai tenter d'exécuter cette requête toute seule via phpmyadmin mais le résultat est identique. J'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #1283 - Column 'title' cannot be part of FULLTEXT index
    Est ce que quelqu'un pourrait me dire pourquoi je ne peux pas créer cette table manuellement ?

    Merci d'avance pour vos réponses

  2. #2
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 565
    Points : 7 291
    Points
    7 291
    Par défaut
    Bonjour,

    est-ce que tu peux exécuter ta requête de création de table sans la création de l'index puis nous donner des informations sur les colonnes title et keywordtext stp? (en particulier le jeu de caractères utilisé)?
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  3. #3
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Points : 87
    Points
    87
    Par défaut
    J'ai fait ce que tu m'as demandé, autrement dit j'ai exécuté la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE tmp_searchcore_text (
                searchcoreid INT UNSIGNED NOT NULL,
                keywordtext MEDIUMTEXT,
                title VARCHAR(255) NOT NULL DEFAULT '',
                PRIMARY KEY (searchcoreid),
                FULLTEXT KEY text (title, keywordtext)
            ) ENGINE=MyISAM;
    Voici le résultat :
    keywordtext : ucs2_general_ci
    title : ucs2_general_ci
    La table est au format dynamique.

  4. #4
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 565
    Points : 7 291
    Points
    7 291
    Par défaut
    Alors c'est normal

    En fait, d'après la doc, le ucs2 n'est pas supporté:

    http://dev.mysql.com/doc/refman/5.1/...trictions.html

    Il ne te reste plus qu'à passer en utf8 par exemple
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  5. #5
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Points : 87
    Points
    87
    Par défaut
    Merci pour cette information !

    Dans phpmyadmin, j'ai pu récupérer ces informations :
    Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
    Interclassement pour la connexion MySQL: UTF-8 Unicode (utf8)
    Je ne comprends pas pourquoi le jeu de caractère est modifié. Puis je le préciser en exécutant ma requête ?

  6. #6
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Points : 87
    Points
    87
    Par défaut
    J'ai trouvé pour la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE tmp_searchcore_text (
                searchcoreid INT UNSIGNED NOT NULL,
                keywordtext MEDIUMTEXT,
                title VARCHAR(255) NOT NULL DEFAULT '',
                PRIMARY KEY (searchcoreid),
                FULLTEXT KEY text (title, keywordtext)
            ) ENGINE=MyISAM, COLLATE utf8_general_ci;
    Je me suis rendu compte par la même occasion que la base était en ucs2_general_ci. Par défaut, une requête executéé sans forcer l'interclassement doit hériter de celui de la base. Je vais donc tenter de modifier celui de la base directement.

    Merci beaucoup kain_tn pour l'aide apportée

  7. #7
    Expert éminent Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 565
    Points : 7 291
    Points
    7 291
    Par défaut
    Il n'y a pas de quoi!
    Pense au tag "résolu"
    Copier c'est copier; voler c'est vendre un CD une vingtaine d'euros!


    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
     
    int main(int argc, char **argv) {
     
        printf("So long, and thanks for the fish, Dennis...\n");
        return 0;
    }

  8. #8
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Points : 87
    Points
    87
    Par défaut
    Une fois la base passé en utf8_general_ci, j'ai pu passer l'étape 1 (pour bloquer à la 6 mais là c'est un autre problème) ! Merci encore

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

Discussions similaires

  1. Requête sur une table avec un index FULLTEXT
    Par Marmotton76 dans le forum Requêtes
    Réponses: 2
    Dernier message: 08/10/2012, 14h35
  2. (VC++6 /C) Pb de création de table Paradox
    Par Vow dans le forum Paradox
    Réponses: 4
    Dernier message: 28/09/2004, 13h15
  3. Problème de création de table sous MySql
    Par ducamba dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/06/2003, 09h59
  4. Création de table avec index
    Par Seb7 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/04/2003, 16h11
  5. Création multiple table paradox dans le code
    Par scarabee dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/10/2002, 10h17

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