Pour autant que je sache, vous ne pouvez pas exécuter ALTER TABLE
commandes sur le tables en information_schema
. Au lieu de cela, vous voudrez probablement jeter un coup d'œil aux variabes character_set_*
. Vous pouvez voir quelles variables sont définies dans laquelle les valeurs de votre serveur MySQL avec une commande show variables
:
show variables like "character_set_%";
La variable qui doit faire avec des méta-données dans MySQL, comme les tables information_schema
, est la variable character_set_system
. Je pense que le my.cnf
est le bon endroit pour le définir.
Vous trouverez plus d'informations sur cette page: UTF-8 for Metadata.
Pour les tables ordinaires, vous modifiez le jeu de caractères d'une table avec une commande ALTER TABLE
:
alter table some_table convert to character set utf8;
Pour ce faire, vous aurez besoin du privilège « modifier ».
Vous pouvez voir quels privilèges votre serveur MySQL prend en charge avec une commande show privileges
, et vous pouvez voir quels privilèges sont accordés à votre utilisateur actuel avec une commande show grants
.
ce que priviledges dois-je modifier la base de données du système toute idée –
@MySQLDBA vous aurez besoin du privilège « modifier », voir la réponse chrétienne –
Assurez-vous que vous considérez cet avertissement avant d'exécuter une commande 'ALTER' > Si vous utilisez ALTER TABLE pour convertir une colonne d'un jeu de caractères en un autre, > MySQL tente de mapper les valeurs de données, mais si les jeux de caractères sont incompatibles, il peut y avoir une perte de données. [Manuel de référence MySQL] (http://dev.mysql.com/doc/refman/5.0/fr/charset-column.html) –