Mysql更改列排序规则和信息模式的字符集

时间:2009-06-11 06:37:32

标签: mysql database system collation

我想更改系统数据库information_schema ...

的列排序规则和字符集

任何人都可以提供有关如何执行此操作的任何输入吗?我需要特殊的特权吗

3 个答案:

答案 0 :(得分:19)

要更改现有表中所有列的字符集和排序规则,请使用:

ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name];

答案 1 :(得分:11)

据我所知,您无法在ALTER TABLE的表格上运行information_schema命令。相反,您可能想要查看character_set_*变量。您可以使用show variables命令查看哪些变量设置在MySQL服务器中的哪些值:

show variables like "character_set_%";

与MySQL中的元数据有关的变量,例如information_schema表,是character_set_system变量。我认为my.cnf是设置它的正确位置。

此页面上有更多信息:UTF-8 for Metadata

对于普通表,使用ALTER TABLE命令更改表的字符集:

alter table some_table convert to character set utf8;

为此,您需要“更改”权限。

您可以使用show privileges命令查看MySQL服务器支持的权限,您可以使用show grants命令查看当前用户授予的权限。

答案 2 :(得分:2)

alter table some_table convert to character set utf8;

非常棒,据我所知,现在我可以在那张桌子上使用中文!我可以删除整个网站上的所有utf8_encode()utf8_decode()!