1

我想创建一个生成表名的查询。我试过这样的事情:

SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES
WHERE  TABLE_SCHEMA='mytableName'

但它返回一个空查询。那么,有什么想法吗?谢谢

4

3 回答 3

0

“WHERE AND”处的语法不正确。

你应该执行:

SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='mytableName'

你应该试试 TABLE_SCHEMA='dbo',看起来你的模式 'mytableName' 真的是空的。

于 2013-12-13T13:32:16.987 回答
0

为什么WHERE AND TABLE_SCHEMA='mytableName' 此时 TheAND无效。

除了表名位于 TABLE_NAME 列而不是 TABLE_SCHEMA 之外,您可能应该尝试使用模式名称而不是表名进行过滤,例如:

SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='YOUR_SCHEMA_NAME'

或者,如果您需要有关特定表的信息:

SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME='YOUR_TABLE_NAME'
于 2013-12-13T13:32:31.300 回答
0

首先:该查询无效(删除AND)。

第二它是空的,因为在名为mytableName.

另请查看SHOW TABLES(文档) 和SHOW DATABASES(文档)

于 2013-12-13T13:33:02.850 回答