Как я могу увидеть параметры сортировки в таблице? IE хочу увидеть:
+-----------------------------+
| table | collation |
|-----------------------------|
| t_name | latin_general_ci |
+-----------------------------+
SHOW TABLE STATUS
показывает информацию о таблице, включая параметры сортировки.
Например SHOW TABLE STATUS where name like 'TABLE_NAME'
Приведенный выше ответ хорош, но на самом деле он не дает примера, который избавляет пользователя от необходимости искать синтаксис:
show table status like 'test';
Где test
имя таблицы.
(Исправлено в соответствии с комментариями ниже.)
Вы также можете запросить INFORMATION_SCHEMA.TABLES
и получить сопоставление для конкретной таблицы:
SELECT TABLE_SCHEMA
, TABLE_NAME
, TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 't_name';
это дает гораздо более читаемый результат, чем SHOW TABLE STATUS
тот, который содержит много не относящейся к делу информации.
Обратите внимание, что сопоставление также может применяться к столбцам (которые могут иметь другое сопоставление, чем сама таблица). Чтобы получить сопоставление столбцов для конкретной таблицы, вы можете запросить INFORMATION_SCHEMA.COLUMNS
:
SELECT TABLE_SCHEMA
, TABLE_NAME
, COLUMN_NAME
, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 't_name';
Используйте этот запрос:
Вы получите всю информацию, относящуюся к таблице.
источник
...) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1
Я предполагаю, что он может не отображать сопоставление, если он установлен по умолчанию для базы данных в более поздних версиях mysql / mariadb.utf8
, но разные параметры сортировкиutf8_general_ci
противutf8_unicode_ci
. Это может вызвать сообщения об ошибках, напримерHY000, 1267, Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='
... это сообщение, которое привело меня на эту страницу.Эта команда описывает
источник