2011-10-01 11 views

Respuesta

26

usted podría utilizar SHOW FULL COLUMNS FROM tablename que devuelve una columna intercalación, por ejemplo, para una mesa 'cuentas' con una intercalación especial en la columna 'nombre'

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

O usted podría utilizar SHOW CREATE TABLE tablename que se traducirá en una declaración como

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, el SHOW CREATE TABLE sólo muestra el conjunto de columnas y cotejar si es diferente a los valores de la tabla. Además, los valores predeterminados de la tabla no se muestran si son iguales a los valores predeterminados de db. – maxhugen

2

SHOW CREATE TABLE nombretabla le mostrará el cotejo de cada columna, así como la colación por defecto

4

Si desea que el cotejo por esa misma columna específica (para su posible uso con una subconsulta) ...

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