web-dev-qa-db-fra.com

Découvrez le classement d'une colonne MySQL

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

43
Trindaz

Vous pouvez utiliser SHOW FULL COLUMNS FROM tablename qui renvoie une colonne Collation, par exemple pour une table 'comptes' avec un classement spécial sur la colonne 'name'

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 qui se traduira par une déclaration comme

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,
...
64
0x4a6f4672

Si vous souhaitez le classement 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';
14
HoldOffHunger

SHOW CREATE TABLE nom_table vous montrera le classement de chaque colonne ainsi que le classement par défaut

3
Explosion Pills