Mysql изменение столбцов и набор символов информационной схемы

Я хочу изменить сортировку столбцов и набор символов системной базы данных information_schema...

Может ли кто-нибудь дать какие-либо данные о том, как это сделать? Есть ли какие-то особые привилегии, которые мне нужны для этого

Ответы

Ответ 1

Насколько я знаю, вы не можете запускать команды ALTER TABLE в таблицах в information_schema. Вместо этого вы, вероятно, захотите взглянуть на переменные character_set_*. Вы можете видеть, какие переменные установлены для значений на вашем сервере MySQL с помощью команды show variables:

show variables like "character_set_%";

Переменная, которая связана с метаданными в MySQL, например таблицы information_schema, представляет собой переменную character_set_system. Я думаю, что my.cnf - правильное место для его установки.

Более подробная информация на этой странице: UTF-8 для метаданных.

Для обычных таблиц вы изменяете набор символов таблицы с помощью команды ALTER TABLE:

alter table some_table convert to character set utf8;

Для этого вам понадобится привилегия "alter".

Вы можете узнать, какие привилегии поддерживает ваш MySQL-сервер с помощью команды show privileges, и вы можете узнать, какие привилегии предоставляются вашему текущему пользователю с помощью команды show grants.

Ответ 2

Чтобы изменить набор символов и сортировку для всех столбцов в существующей таблице, используйте:

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

Ответ 3

alter table some_table convert to character set utf8;

удивительный, который работал отлично, насколько я могу сказать для меня, теперь я могу использовать китайский в этих таблицах! и я могу удалить все utf8_encode() utf8_decode() на моем сайте!