在MySQL中,语法DESCRIBE
可以显示表的结构,但不能嵌入到普通语句中;是否有一些棘手的方法呢?
例如,这显示了table1
结构,作为表返回(但SQL语句不这么认为)
DESCRIBE `table1`
但这不起作用:
SELECT * FROM (DESCRIBE `table1`)
有没有办法启用它?
我想加入DESCRIBE
语法创建的“表格”,我该怎么做?
答案 0 :(得分:18)
您可以使用 INFORMATION_SCHEMA 的COLUMNS表格将预期结果作为 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';
答案 1 :(得分:8)
DESCRIBE
的输出看起来像一个表,但DESCRIBE
实际上不是一个查询,因此不能被视为例如SELECT语句中的子查询。