Spec-Zone .ru
спецификации, руководства, описания, API

10.1.3.4. Набор символов столбца и Сопоставление

Каждый "символьный" столбец (то есть, столбец типа CHAR, VARCHAR, или TEXT) имеет набор символов столбца и сопоставление столбца. Синтаксис определения столбца для CREATE TABLE и ALTER TABLE имеет дополнительные пункты для того, чтобы определить набор символов столбца и сопоставление:

col_name {CHAR | VARCHAR | TEXT} (col_length)    [CHARACTER SET charset_name]    [COLLATE collation_name]

Эти пункты могут также использоваться для ENUM и SET столбцы:

col_name {ENUM | SET} (val_list)    [CHARACTER SET charset_name]    [COLLATE collation_name]

Примеры:

CREATE TABLE t1(    col1 VARCHAR(5)      CHARACTER SET latin1      COLLATE latin1_german1_ci);ALTER TABLE t1 MODIFY    col1 VARCHAR(5)      CHARACTER SET latin1      COLLATE latin1_swedish_ci;

MySQL выбирает набор символов столбца и сопоставление следующим способом:

CHARACTER SET и COLLATE пункты являются стандартным SQL.

Если Вы используете ALTER TABLE чтобы преобразовать столбец от одного набора символов до другого, MySQL пытается отобразить значения данных, но если наборы символов являются несовместимыми, может быть потеря данных.