Spec-Zone .ru
спецификации, руководства, описания, API
|
У каждой таблицы есть табличный набор символов и табличное сопоставление. CREATE TABLE
и ALTER
TABLE
у операторов есть дополнительные пункты для того, чтобы определить табличный набор символов и
сопоставление:
CREATE TABLEtbl_name
(column_list
) [[DEFAULT] CHARACTER SETcharset_name
] [COLLATEcollation_name
]]ALTER TABLEtbl_name
[[DEFAULT] CHARACTER SETcharset_name
] [COLLATEcollation_name
]
Пример:
CREATE TABLE t1 ( ... )CHARACTER SET latin1 COLLATE latin1_danish_ci;
MySQL выбирает табличный набор символов и сопоставление следующим способом:
Если оба CHARACTER SET
и X
COLLATE
определяются, набор
символов Y
X
и сопоставление Y
используются.
Если CHARACTER SET
определяется без X
COLLATE
,
набор символов X
и его сопоставление значения по умолчанию
используется. Чтобы видеть сопоставление значения по умолчанию для каждого набора символов, используйте
SHOW COLLATION
оператор.
Если COLLATE
определяется без Y
CHARACTER
SET
, набор символов, связанный с Y
и сопоставление Y
используются.
Иначе, набор символов базы данных и сопоставление используются.
Табличный набор символов и сопоставление используются в качестве значений по умолчанию для определений столбца, если набор символов столбца и сопоставление не определяются в отдельных определениях столбца. Табличный набор символов и сопоставление являются расширениями MySQL; в стандартном SQL нет таких вещей.