11.3 Déterminer le jeu de caractères et la collation par défaut
11 Jeux de caractères et Unicode
Manuel de Référence MySQL 4.1 : Version Française
. Jeu de caractères et collation serveur . Jeu de caractères et collation de base de données . Jeu de caractères de tables et collation . Jeu de caractères de colonne et collation ->Exemples d'attribution de jeu de caractères et collation . Jeux de caractères et collations de connexion . Jeu de caractères et collation des chaînes littérales . Clause COLLATE dans différentes parties d'une requête SQL . COLLATE clause de précédence . Opérateur BINARY . Quelques cas spéciaux où la détermination de la collation est difficile . Les collation doivent correspondre au bon jeu de caractères . Un exemple de l'effet de collation
|
11.3.5 Exemples d'attribution de jeu de caractères et collation Les exemples suivants montrent comment MySQL détermine le jeu de caractère
par défaut et les valeurs de collation.
Exemple 1 : définition de table et colonne
CREATE TABLE t1 ( c1 CHAR(10) CHARACTER SET latin1 COLLATE latin1_german1_ci ) DEFAULT CHARACTER SET latin2 COLLATE latin2_bin;
|
Vous avez ici une colonne avec un jeu de caractères
latin1
et une collation
latin1_german1_ci
. La définition est explicite,
c'est donc direct. Veuillez noter qu'il n'y a pas de problème à stocker
une colonne
latin1
dans une table
latin2
.
Exemple 2 : définition de table et colonne
CREATE TABLE t1 ( c1 CHAR(10) CHARACTER SET latin1 ) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;
|
Cette fois-ci nous avons une colonne avec un jeu de caractères
latin1
et une collation par défaut. Maintenant, bien que cela
puisse sembler naturel, la collation par défaut n'est pas spécifiée au niveau
de la table. A la place, comme la collation par défaut de
latin1
est toujours
latin1_swedish_ci
, la colonne
c1
aura
la collation
latin1_swedish_ci
(et non
latin1_danish_ci
).
Exemple 3 : définition de table et colonne
CREATE TABLE t1 ( c1 CHAR(10) ) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;
|
Nous avons une colonne avec un jeu de caractères par défaut
et une collation par défaut. Dans ces conditions, MySQL regarde
au niveau de la table pour déterminer le jeu de caractères et
la collation. Par conséquent le jeu de caractères
de la colonne
c1
est
latin1
et sa collation
est
latin1_danish_ci
.
Exemple 4: définition de base, table et colonne
CREATE DATABASE d1 DEFAULT CHARACTER SET latin2 COLLATE latin2_czech_ci; USE d1; CREATE TABLE t1 ( c1 CHAR(10) );
|
Nous créons une colonne sans préciser son jeu de caractère ni sa collation.
Nous ne spécifions pas non plus de jeu de caractères ni de collation au niveau
de la table. Dans ces conditions, MySQL cherche au niveau de la base de données.
(La configuration de la base de donnée devient celle de la table, et par
conséquent celle de la colonne.) Donc le jeu de caractères de colonne
c1
est
latin2
et sa collation est
latin2_czech_ci
.
|