我想更改系统数据库 information_schema 的列排序规则和字符集...
任何人都可以就如何做到这一点提供任何意见吗?我需要什么特殊的特权吗
要更改现有表中所有列的字符集和排序规则,请使用:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name];
据我所知,您不能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;
为此,您将需要“更改”权限。
您可以通过命令查看 MySQL 服务器支持哪些权限show privileges
,并且可以通过命令查看当前用户授予了哪些权限show grants
。
alter table some_table convert to character set utf8;
棒极了,据我所知,这对我来说效果很好,现在我可以在那张桌子上使用中文了!!我可以删除整个网站的所有 utf8_encode() utf8_decode() !