2011-10-01 14 views
19

Poprzednio utworzyłem tabelę MySQL, a teraz chcę dowiedzieć się, jakie sortowanie wykorzystuje niektóre z pól. Jakie polecenia SQL lub MySQL mogę użyć, aby to odkryć?Odkryj sortowanie kolumny MySQL

Odpowiedz

26

można użyć SHOW FULL COLUMNS FROM tablename która zwraca kolumnę Sortowanie, na przykład na stole „Konta” ze specjalnym sortowania w kolumnie „nazwa”

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 |   | 
... 

Albo można wykorzystać SHOW CREATE TABLE tablename co spowoduje w oświadczeniu jak

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, 
... 
+0

FYI, SHOW CREATE TABLE pokazuje tylko zestawu kolumn i zestawiania, jeśli różni się od domyślnych tabel. Również domyślne ustawienia tabeli nie są wyświetlane, jeśli są takie same jak domyślne ustawienia db. – maxhugen

2

SHOW CREATE TABLE tablename pokaże sortowanie każdej kolumny, a także domyślnego sortowania

4

Jeśli chcesz sortowania dla właśnie tej konkretnej kolumny (do ewentualnego wykorzystania z podzapytania) ...

select COLLATION_NAME 
from information_schema.columns 
where TABLE_SCHEMA = 'tableschemaname' 
and TABLE_NAME = 'tablename' 
and COLUMN_NAME = 'fieldname';