Spec-Zone .ru
спецификации, руководства, описания, API
|
В будущей версии MySQL это возможно это utf8
станет 4 байтами utf8
, и это пользователи, которые хотят указать на 3 байта utf8
должен будет сказать utf8mb3
. Чтобы избежать
некоторых будущих проблем, которые могли бы произойти с репликацией, когда у основных и ведомых серверов есть
различные версии MySQL, для пользователей возможно определить utf8mb3
в CHARACTER SET
пункты, и utf8mb3_
в collation_substring
COLLATE
пункты, где collation_substring
bin
,
czech_ci
, danish_ci
, esperanto_ci
,
estonian_ci
, и т.д. Например:
CREATE TABLE t (s1 CHAR(1) CHARACTER SET utf8mb3;SELECT * FROM t WHERE s1 COLLATE utf8mb3_general_ci = 'x';DECLARE x VARCHAR(5) CHARACTER SET utf8mb3 COLLATE utf8mb3_danish_ci;SELECT CAST('a' AS CHAR CHARACTER SET utf8) COLLATE utf8_czech_ci;
MySQL сразу преобразовывает экземпляры utf8mb3
в псевдониме к utf8
, так в операторах такой как SHOW CREATE TABLE
или
SELECT CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLUMNS
или SELECT COLLATION_NAME FROM INFORMATION_SCHEMA.COLUMNS
, пользователи будут видеть
истинное имя, utf8
или utf8_
.
collation_substring
utf8mb3
псевдоним допустим только в CHARACTER SET
пункты, и в определенных других местах. Например, они являются законными:
mysqld --character-set-server=utf8mb3SET NAMES 'utf8mb3'; /* and other SET statements that have similar effect */SELECT _utf8mb3 'a';
Есть нет utf8mb3
исказите к соответствию utf8
сопоставление для имен сопоставления, которые включают номер версии (например,
) указать на версию Алгоритма
сопоставления Unicode, на которой базируется сопоставление.utf8
_unicode_520_ci