Page 1 sur 1
renomage table MySql
Posté : 02 août 2005, 12:16
par NoNos
Salut
Se matin j'ai apris que free a fait un update de ses bases MySql. J'ai donc été voir si tout c'est bien passé et la stupeur ma table apelée thème ne fonctionne plus, le caractère 'è' n'est plus reconue.
requête SQL: Modifier
SHOW KEYS FROM `th�me` ;
MySQL a répondu:Documentation
#1300 - Invalid utf8 character string: '�me'
Il y a t'il une solutionpour renomer cette table?
Merci
NoNo
Posté : 02 août 2005, 12:16
par ouckileou
tu peux le faire via phpMyAdmin
sinon c'est du coté de la commande ALTER TABLE qu'il faut regarder
Posté : 02 août 2005, 17:30
par debut
tu peux le faire via phpMyAdmin
bonjour,
j'ai le même problème que NoNos. Malheureusement, je débute et est-ce que quelqu'un peut me détailler cette solution ?
merci beaucoup
Posté : 02 août 2005, 17:31
par raptor
ouckileou a tout dit pourtant.
Posté : 02 août 2005, 17:35
par ouckileou
2 solutions :
- tu sélectionnes la base qui contient la table concernée
- tu va dans l'onglet SQL, enfin là ou y'a un gros champ texte
- tu mets dedans la requête que j'ai donné ce-dessus (en remplaçant bien sûr "table" et "nouveau_nom" par tes infos)
- tu cliquettes sur "Exécuter"
OU
- tu sélectionnes la base qui contient la table concernée
- dans la liste à gauche, tu sélectionnes la table concernée
- tu cliques sur l'onglet "Opérations"
- tu cherches le champ texte précédé de "Changer le nom de la table pour : "
- tu entres le nouveau nom et tu cliquettes sur "Exécuter"
et voilà
ceci sous réserve de la version de phpMyAdmin, les onglets/positions peuvent varier
donc avec la requête y'avait tout en fait... et elle est pas compliquée

quand on connait la requête et qu'elle simple, ça va plus vite de faire par SQL direct

Posté : 02 août 2005, 17:38
par debut
merci beaucoup. J'essaie cela tout de suite.
Posté : 02 août 2005, 18:06
par debut
je pense avoir suivi les indications correctement, mais visiblement, il y a un autre problème. J'ai le message suivant :
#1146 - Table 'nom_de_la_base.cat�gories' doesn't exist
J'ai bien compris que je dois renommer ma table mais en fait, je ne sais pas quel nom de table je dois saisir : le nom initial de cette table étant "catégories". Ce nom apparait depuis aujourd'hui "cat�gories".
Merci pour votre aide.
Posté : 02 août 2005, 19:33
par raptor
Essaye de mettre French (fr-utf-8) en langage dans phpmyadmin, a l'accueil.
Posté : 03 août 2005, 00:52
par NoNos
C'est fait mais cela ne marche pas, lors de la mise a jour les caratères spéciaux on été modifié et remplacé par ? dans l'affichage de phpmyadmin. J'ai essayer de mettre le ? a la place de mon caracère accentuer marche pas non plus.
Heureusement que ma table ne me sert pas j'espere que je vais pouvoir la virer
C'est promis je ne met plus d'accent dans le nom de mes tables (lol)
Posté : 03 août 2005, 08:46
par ouckileou
cette requête ne fonctionne pas ?
Posté : 03 août 2005, 10:45
par zeus
Je crois que c'est l'inverse qu'il veulent faire
Si c'est suite à une migration de free, il est possible qu'ils aient changé l'encode et qu'ils n'acceptent plus les accents ....
Je ne sais pas exactement si tu as le choix d'encodage chez free ...
Mais comme vous l'avez bien fait remarqué : on ne met pas d'accents dans les noms SQL (bdd, tables, colonne)

Posté : 03 août 2005, 10:56
par mere-teresa
J'ai bien compris que je dois renommer ma table mais en fait, je ne sais pas quel nom de table je dois saisir : le nom initial de cette table étant "catégories". Ce nom apparait depuis aujourd'hui "cat�gories".
Tu peux le faire depuis PHPMyAdmin et ça ne fonctionne pas ?
Sinon, sauvegarde ou exporte les données de la table et recrée la, en changeant le nom.
Posté : 03 août 2005, 16:01
par debut
En fait, la table avec un ? à la place du caractère accentué est définitivement inaccessible. Elle apparait dans les menus de requêtes et dans la structure de la base, mais elle n'est plus reconnue et est considérée comme inexistante.
C'est pour cela que la fonction RENAME AS ne peut pas fonctionner. (on ne peut pas renommer une table qui n'existe pas).
J'ai été obligé de re créer une table dans la base pour la remplacer. Je n'ai pas trouvé d'autre solution. Maintenant, bien sûr tout est rentré dans l'ordre.
Je note simplement que Free, où le site est hébergé, n'a répondu à aucun de mes mails.
Merci à tous pour vos réponses et il faut effectivement banir les caractères accentués dans le nom des bases ou des tables.
cordialement.
Posté : 03 août 2005, 16:22
par NoNos
Je peux meme pas la suprimer cette table sa fais brouillon un peu