Порядок возврата MySQL SHOW COLUMNS - PullRequest
11 голосов
/ 30 марта 2010

Мне нужно найти столбцы в конкретной таблице, это не проблема:

SHOW COLUMNS FROM tablename LIKE '%ColumnPrefix%';

Но мне нужно знать, в каком порядке они будут возвращены, желательно, выбрав упорядочить результаты по возрастанию в алфавитном порядке. Мне не повезло с использованием ORDER BY.

Есть идеи?

Ответы [ 2 ]

13 голосов
/ 30 марта 2010

Вы можете запросить таблицу INFORMATION_SCHEMA.COLUMNS, чтобы получить информацию, которую дает SHOW COLUMNS, плюс она позволяет вам использовать ORDER BY или любой другой синтаксис SQL, который вы захотите использовать:

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tablename'
  AND column_name LIKE 'ColumnPrefix%'
ORDER BY column_name
6 голосов
/ 17 января 2012

Поскольку у меня была точно такая же проблема, я завершу ответ Марка. Вот точная длинная версия запроса «Показать столбцы из таблицы»:

SELECT 
    `column_name` AS `Field`, 
    `column_type` AS `Type`, 
    `is_nullable` AS `Null`, 
    `column_key` AS `Key`, 
    `column_default` AS `Default`, 
    `extra` AS `Extra` 
FROM 
    `information_schema`.`columns` 
WHERE 
    `table_name`='mytable';

С помощью этого запроса вы можете упорядочить результат по своему усмотрению, добавив ORDER BY.

...