Я хочу изменить сортировку столбцов и набор символов системной базы данных information_schema...
Может ли кто-нибудь дать какие-либо данные о том, как это сделать? Есть ли какие-то особые привилегии, которые мне нужны для этого
Я хочу изменить сортировку столбцов и набор символов системной базы данных information_schema...
Может ли кто-нибудь дать какие-либо данные о том, как это сделать? Есть ли какие-то особые привилегии, которые мне нужны для этого
Насколько я знаю, вы не можете запускать команды 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
.
Чтобы изменить набор символов и сортировку для всех столбцов в существующей таблице, используйте:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name [COLLATE collation_name];
alter table some_table convert to character set utf8;
удивительный, который работал отлично, насколько я могу сказать для меня, теперь я могу использовать китайский в этих таблицах! и я могу удалить все utf8_encode() utf8_decode() на моем сайте!