Подтвердить что ты не робот

Может ли синтаксис DESCRIBE быть встроен в инструкцию SELECT?

В MySQL синтаксис DESCRIBE может отображать структуру таблицы, но не может быть встроен в обычный оператор; есть ли какой-то сложный способ сделать это?

Например, это показывает структуру table1, возвращенную в виде таблицы (но SQL-инструкция не считает)

DESCRIBE `table1`

Но это не работает:

SELECT * FROM (DESCRIBE `table1`)

Есть ли способ включить его?

Я хочу присоединиться к "таблице", созданной синтаксисом DESCRIBE, как я могу это сделать?

4b9b3361

Ответ 1

Вы можете использовать COLUMNS таблицу INFORMATION_SCHEMA, чтобы получить ожидаемый результат в качестве альтернативного решения DESCRIBE.

Попробуйте следующее:

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_SCHEMA = 'schemaName' AND TABLE_NAME = 'table1';

Ответ 2

Вывод DESCRIBE выглядит как таблица, но DESCRIBE на самом деле не является запросом и поэтому не может рассматриваться как, например, подзапрос в инструкции SELECT.