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