Поиск

Наборы символов и порядки сопоставления на уровне таблицы

Каждая таблица имеет свой набор символов и порядок сопоставления, которые могут быть ненулевыми. Операторы CREATE TABLE и ALTER TABLE имеют необязательные кон­струкции, специфицирующие набор символов и порядок сопоставления:
CREATE TABLE имя_таблицы(column_list)
[DEFAULT CHARACTER SET имя_набора_символов[COLLATE имя_порядка_сопоставления]]
ALTER TABLE имя_таблицы
[DEFAULT CHARACTER SET имя_набора_символов] [COLLATE имя_порядка_сопоставления]

Пример:
CREATE TABLE tl ( ... )
DEFAULT CHARACTER SET latinl COLLATE latinl_cianish_ci;
MySQL выбирает набор символов и порядок сопоставления для таблицы следующим образом:
  • Если указанные и CHARACTER SET X, и COLLATE У, принимается набор символов Xи порядок сопоставления Y.
  • Если CHARACTER SET Xуказан без COLLATE, принимается набор символов Xи его порядок сопоставления по умолчанию.
  • В противном случае принимается символьный набор и порядок сопоставления, установленные в базе данных.

Символьный набор и порядок сопоставления таблицы используются как значения по умолчанию, если они не указаны в индивидуальных определениях столбцов. Символь­ный набор и порядок сопоставления уровня таблицы являются расширением MySQL; в стандарте SQL они не предусмотрены.