Каждый символьный столбец (то есть, столбцы типа CHAR, VARCHAR или TEXT) имеет свой набор символов и порядок сопоставления, которые могут быть ненулевыми. Синтаксис определения столбца предусматривает необязательные конструкции для указания набора символов и порядка сопоставления:
имя_столбца {CHAR | VARCHAR | TEXT} {длина_столбца)
[CHARACTER SET имя__набора_символов [COLLATE имя_порядка_сопоставления] ]
Пример:
CREATE TABLE Tablel (
columnl VARCHAR(5) CHARACTER SET latinl COLLATE latinl_germanl_ci );
MySQL выбирает набор символов и порядок сопоставления для столбца следующим образом:
- Если указанные и CHARACTER SET X, и COLLATE Y, принимается набор символов X и
порядок сопоставления Y.
- Если CHARACTER SET X указан без COLLATE, принимается набор символов X и его
порядок сопоставления по умолчанию.
- В противном случае принимается символьный набор и порядок сопоставления,
установленные для таблицы.
Конструкции CHARACTER SET и COLLATE определены в стандарте SQL.