В MySQL, как я могу сказать, какой набор символов использует конкретная таблица? - PullRequest
0 голосов
/ 27 апреля 2010

У меня есть большая таблица mysql, которая, я думаю, может использовать неправильный набор символов. Если это так, мне нужно изменить его с помощью

ALTER TABLE mytable CONVERT TO CHARACTER SET utf8

Но так как это очень большая таблица, я бы предпочел не запускать эту команду без необходимости. Итак, мой вопрос, как я могу спросить mysql, какой набор символов находится на конкретной таблице?

Я могу вызвать status в mysql, чтобы увидеть набор символов базы данных, но это не обязательно означает, что все таблицы имеют одинаковый набор символов, верно?

Ответы [ 2 ]

2 голосов
/ 27 апреля 2010

Попробуйте: show create table my_table;

0 голосов
/ 27 апреля 2010

, если ваша таблица использует неправильный набор символов, этот запрос сломает данные.
таким образом, оно должно быть преобразовано другим способом.
если вы не хотите конвертировать, единственный правильный способ получить правильные данные (то есть сказать MySQL не перекодировать их) - это запрос SET NAMES <table charset>. но сортировка и фильтрация не сработают
чтобы увидеть текущий набор символов, вы можете использовать SHOW CREATE TABLE query

...