Tabellenkollationen
Standardkollationen werden auf Tabellenebene gespeichert. Es gibt eine serverseitige Voreinstellung, die jedoch auf die Tabelle zum Zeitpunkt ihrer Erstellung angewendet wird.
Um die Kollation für eine bestimmte Tabelle zu finden, führen Sie diese Abfrage aus:
SHOW TABLE STATUS LIKE 'ponies'\G
Sie sollten eine Ausgabe wie diese sehen:
*************************** 1. Zeile ***************************
Name: ponies
Engine: MyISAM
Version: 10
Row_format: Fixed
Rows: 8
Avg_row_length: 20
Data_length: 160
Max_data_length: 5629499534213119
Index_length: 1024
Data_free: 0
Auto_increment: NULL
Create_time: 2012-02-27 10:16:25
Update_time: 2012-02-27 10:17:40
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
Und Sie können die Collation
-Einstellung in diesem Ergebnis sehen.
Spaltenkollationen
Sie können auch Kollationseinstellungen für bestimmte Spalten innerhalb einer Tabelle überschreiben. Eine CREATE TABLE-Anweisung wie diese würde eine Tabelle mit latin1_swedish_ci
erstellen, mit einer Spalte utf8_polish_ci
:
CREATE TABLE ponies (
sex CHAR(1) COLLATE utf8_polish_ci
) CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Die beste Möglichkeit, die Ergebnisse auszusehen, ist wie folgt:
SHOW FULL COLUMNS FROM ponies;
Ausgabe:
+-------+---------+----------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-------+---------+----------------+------+-----+---------+-------+---------------------------------+---------+
| sex | char(1) | utf8_polish_ci | YES | | NULL | | select,insert,update,references | |
+-------+---------+----------------+------+-----+---------+-------+---------------------------------+---------+
1 row in set (0.00 sec)