77 votes

Découvrir la collation d'une colonne MySQL

J'ai précédemment créé une table MySQL et je veux maintenant savoir quelle collation certains des champs utilisent. Quelles commandes SQL ou MySQL puis-je utiliser pour le découvrir ?

116voto

0x4a6f4672 Points 4986

Vous pourriez utiliser SHOW FULL COLUMNS FROM tablename qui renvoie une colonne Collation par exemple pour une table 'comptes' avec une collation spéciale sur la colonne 'nom'.

mysql> SHOW FULL COLUMNS FROM accounts;
+----------+--------------+-------------------+------+-----+---------+----------+
| Field    | Type         | Collation         | Null | Key | Default | Extra    |
+----------+--------------+-------------------+------+-----+---------+----------|
| id       | int(11)      | NULL              | NO   | PRI | NULL    | auto_inc |
| name     | varchar(255) | utf8_bin          | YES  |     | NULL    |          |
| email    | varchar(255) | latin1_swedish_ci | YES  |     | NULL    |          |
...

Ou vous pouvez utiliser SHOW CREATE TABLE tablename ce qui donnera lieu à une déclaration du type

mysql> SHOW CREATE TABLE accounts;
CREATE TABLE `accounts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
...

25voto

HoldOffHunger Points 1

Si vous voulez la collation pour cette colonne spécifique (pour une utilisation possible avec une sous-requête)...

SELECT COLLATION_NAME
FROM information_schema.columns
WHERE TABLE_SCHEMA = 'tableschemaname'
AND TABLE_NAME = 'tablename'
AND COLUMN_NAME = 'fieldname';

3voto

Explosion Pills Points 89756

SHOW CREATE TABLE [tablename] vous montrera la collation de chaque colonne ainsi que la collation par défaut.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X