Я ранее создал таблицу MySQL, и теперь я хочу узнать, какую комбинацию используют некоторые из полей. Какие команды SQL или MySQL можно использовать для обнаружения этого?
Откройте сопоставление столбца MySQL
Ответ 1
Вы можете использовать SHOW FULL COLUMNS FROM tablename
, который возвращает столбец Collation, например, для "учетных записей" таблицы со специальной сортировкой по имени столбца
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 | |
...
Или вы можете использовать SHOW CREATE TABLE tablename
, который приведет к выражению типа
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,
...
Ответ 2
Если вы хотите сопоставить только этот конкретный столбец (для возможного использования с подзапросом)...
select COLLATION_NAME
from information_schema.columns
where TABLE_SCHEMA = 'tableschemaname'
and TABLE_NAME = 'tablename'
and COLUMN_NAME = 'fieldname';
Ответ 3
SHOW CREATE TABLE tablename покажет вам сортировку каждого столбца, а также сортировку по умолчанию