Changement interclassement

Fermé
Gui4671 Messages postés 33 Date d'inscription jeudi 24 janvier 2019 Statut Membre Dernière intervention 7 avril 2019 - 26 janv. 2019 à 17:50
jordane45 Messages postés 38156 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 - 27 janv. 2019 à 18:52
Bonjour,
J'ai fait une table avec comme interclassement ''latin1_general_ci" mais celui-ci pose des problème avec les accents... Je souhaite donc changer pour mettre "utf8_general_ci". J'ai réussi à faire cette opération sur toutes mes colonnes sauf 2... Ces deux colonnes ont un 'index' et je n'arrive pas à supprimer cet index!
Comment puis-je modifier l'interclassement de ces deux colonnes qui ont un index?

Merci d'avance pour vos réponses. :)
Configuration: Windows / Firefox 64.0

2 réponses

jordane45 Messages postés 38156 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 4 655
26 janv. 2019 à 19:52
Bonjour,
Quel SGBD ?
Comment as tu procédé ? Via une interface ou en ligne de commande ?

0
Gui4671 Messages postés 33 Date d'inscription jeudi 24 janvier 2019 Statut Membre Dernière intervention 7 avril 2019
Modifié le 26 janv. 2019 à 20:32
phpmyadmin... J'ai crée et essayé de modifier via leur interface. J'ai réussi à modifier pour toutes mes colonnes sauf ces deux là.
0
jordane45 Messages postés 38156 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 4 655 > Gui4671 Messages postés 33 Date d'inscription jeudi 24 janvier 2019 Statut Membre Dernière intervention 7 avril 2019
26 janv. 2019 à 21:52
phpmyadmin est juste un "programme" qui permet de manipuler la BDD.
le SGBD ... c'est mysql.
Donc je déplace dans le bon forum...
0
jordane45 Messages postés 38156 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 4 655
26 janv. 2019 à 21:56
Ta BDD contient des clés étrangères ?

Peux tu essayer, dans un onglet de requête de phpmyadmin ( onglet "sql")
d'éxécuter le code suivant
SET foreign_key_checks = 0;
ALTER TABLE <table-name> CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;


Si ça ne marche pas, donne nous le message d'erreur ainsi qu'un DUMP de ta bdd.
0
Gui4671 Messages postés 33 Date d'inscription jeudi 24 janvier 2019 Statut Membre Dernière intervention 7 avril 2019
26 janv. 2019 à 23:04
Ma bdd contient 1table. Elle est 'solitaire'.

Voici le message d'erreur de la requete que tu m'as envoyé:
Analyse statique :
1 erreurs trouvées lors de l'analyse.
Opération ALTER non reconnue. (near "" at position 0)

Requête SQL :
ALTER TABLE <table-name> CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
MySQL a répondu: Documentation
#1064 - Erreur de syntaxe près de '<table-name> CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci' à la ligne 1


Le DUMP est le fichier de sauvegarde de ma bdd?
0
jordane45 Messages postés 38156 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 4 655
26 janv. 2019 à 23:06
Heuu...là où c'est indiqué table_name...il faut que tu mettes le nom de ta table et sans mettre les symboles inférieur et supérieur....
0
Gui4671 Messages postés 33 Date d'inscription jeudi 24 janvier 2019 Statut Membre Dernière intervention 7 avril 2019
27 janv. 2019 à 15:02
Voici l'erreur:
Erreur

Analyse statique :

2 erreurs trouvées lors de l'analyse.

Cette option entre en conflit avec « TABLE ». (near "table" at position 12)
Opération ALTER non reconnue. (near "" at position 0)

Requête SQL :

ALTER TABLE table-clients CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci

MySQL a répondu: Documentation
#1064 - Erreur de syntaxe près de 'table-clients CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci' à la ligne 1
0
jordane45 Messages postés 38156 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 4 mai 2024 4 655
27 janv. 2019 à 17:36
Comment se nomme ta table exactement ???
Je doute que tu l'ai nommé : "table-clients" .....
Comme je te l'ai indiqué dans mon précédent message ... il faut remplacer
 <table-name> 
par le nom de TA table

Autrement dit
SET foreign_key_checks = 0;
ALTER TABLE  icituinscritslenomdetatableàtoi CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
0
Gui4671 Messages postés 33 Date d'inscription jeudi 24 janvier 2019 Statut Membre Dernière intervention 7 avril 2019
27 janv. 2019 à 18:20
J'avais compris mais je m'étais bien trompé dans le nom de ma table... Ceci dit, ça a fonctionné! Ce problème est réglé mais ça n'a pas tout résolu...
En effet, je faisais cela parce que j'ai des problèmes avec des accents... Il y a toujours des accents qui ne s'écrivent pas comme il faut. As-tu une idée de ce qui peut provoquer cela? les é s'affichent é
0