Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/12/2006, 20h44   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 6
Points : 4
Points : 4
Par défaut [Résolu]Corriger une erreur #1170

Bonjour,

En effectuant la migration d'une base de données de phpNuke (7.x), qui fonctionnait très bien chez l'ancien hébergeur, j'ai sous phpMyAdmin 2.6.2 l'erreur suivante sur quelques unes de mes tables, lors de leur création :

#1170 - BLOB/TEXT column 'caption' used in key specification without a key length

J'ai bien compris qu'à partir d'une certaine version de MySQL, les index sur des champs text ou blob devaient avoir une longueur, mais je ne sais pas comment modifier mes tables (sans tout faire foirer) pour préciser cette longueur.

J'ai attribué la valeur 255 à l'index de caption (qui était à 1 auparavant)

Index:
Nom de la clé Type Cardinalité Champ
PRIMARY PRIMARY 530 pid
pic_hits INDEX aucune hits
pic_rate INDEX aucune pic_rating
aid_approved INDEX aucune aid
approved
randpos INDEX aucune randpos
pic_aid INDEX aucune aid
search FULLTEXT aucune title
caption 255
keywords
filename

Mais j'ai toujours la même erreur lors de l'import de cette table.

Comment modifier les tables où cette erreur apparaît ?

Merci d'avance.
drpiquouze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2006, 22h45   #2
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Tu devrais vérifier avec
Code :
SHOW CREATE TABLE ta_table ;
que ta table est bien toujours en MyISAM... Parce que c'est le seul moteur de stockage qui supporte le FULLTEXT.

Sinon, le + simple me semble de supprimer l'index et de le re-créer (sans forcément préciser la table) :

Code :
1
2
3
4
ALTER TABLE ta_table DROP INDEX caption ;
ALTER TABLE ta_table ADD FULLTEXT INDEX (caption) ;
-- ou bien :
ALTER TABLE ta_table ADD FULLTEXT INDEX (caption(255)) ;
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 15h40   #3
Invité de passage
 
Inscription : décembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 6
Points : 4
Points : 4
Citation:
Envoyé par Antoun
Tu devrais vérifier avec
Code :
SHOW CREATE TABLE ta_table ;
que ta table est bien toujours en MyISAM... Parce que c'est le seul moteur de stockage qui supporte le FULLTEXT.
Pas de problème c'est spécifié dans le Type aussi bien de la base d'origine que de celle d'arrivée.

Citation:
Envoyé par Antoun
Sinon, le + simple me semble de supprimer l'index et de le re-créer (sans forcément préciser la table) :

Code :
1
2
3
4
ALTER TABLE ta_table DROP INDEX caption ;
ALTER TABLE ta_table ADD FULLTEXT INDEX (caption) ;
-- ou bien :
ALTER TABLE ta_table ADD FULLTEXT INDEX (caption(255)) ;
C'est ce que j'ai fait (en fait il n'y a que deux tables sur 142 qui posent ce problème, mais ça m'inquiète toujours de supprimer quelque chose que je n'ai pas programmé moi-même, j'ai toujours peur d'altérer le fonctionnement.

Maintenant le nouveau problème c'est l'encodage des caractères, je n'ai pas encore réussi à trouver le mode de transfert pour garder mes caractères accentués. Tu connais un bon tuto sur l'encodage et MySQL ?

Merci, cordialement et Bonne Année !
drpiquouze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2007, 22h45   #4
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Citation:
Envoyé par drpiquouze
Maintenant le nouveau problème c'est l'encodage des caractères, je n'ai pas encore réussi à trouver le mode de transfert pour garder mes caractères accentués. Tu connais un bon tuto sur l'encodage et MySQL ?
Oui, en fait j'en ai écrit un, extrait de mon bouquin sur MySQL, et qui est en cours de validation sur Developpez.com...

Pour ton transfert, je t'invite à ouvrir un nouveau sujet dans lequel tu précises ton jeu de caractères de départ, ton mode de transfert (.CSV, mysqldump, autre ?) et ton jeu d'arrivée. Je te ferai faire qq tests pour qu'on trouve ensemble comment s'y prendre.
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2007, 09h01   #5
Invité de passage
 
Inscription : décembre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 6
Points : 4
Points : 4
Par défaut [Résolu]Corriger une erreur #1170

OK,

Je vois ça dès que possible et j'ouvre une nouvelle discussion.
Merci de ton aide.
drpiquouze est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h20.


 
 
 
 
Partenaires

Hébergement Web