Как проверить, является ли таблица MySQL UTF-8 и имеет ли StorageEngine InnoDB? - PullRequest
16 голосов
/ 24 мая 2011

Поискивая в поисках, просто находят инструкции по переходу с одного формата на другой, но я не могу найти, как именно удостовериться, какой из них у меня первый.

Как я могу:

  1. Проверить, какая кодировка символов в таблице?
  2. Проверьте, какой механизм хранения использует таблица?
  3. Проверить, все ли таблицы имеют определенную кодировку?
  4. Проверить, все ли таблицы имеют определенный механизм хранения?

1 Ответ

30 голосов
/ 24 мая 2011

Вы можете использовать information_schema, чтобы узнать механизм каждой таблицы.

select table_name,engine 
from information_schema.tables
where table_schema = 'your_database'

Для кодирования вы можете использовать

show create table table_name

или, что еще лучше,

select 
c.character_set_name 
from information_schema.tables as t,
     information_schema.collation_character_set_applicability as c
where c.collation_name = t.table_collation
and t.table_schema = "your_db"
and t.table_name = "table_name";
...