我想创建一个生成表名的查询。 我试过这样的事情:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='mytableName'
但它返回一个空查询。那么,有什么想法吗?谢谢
答案 0 :(得分:0)
“WHERE AND”的语法不正确。
你应该执行:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='mytableName'
您应该尝试TABLE_SCHEMA ='dbo',看起来您的架构'mytableName'真的是空的。
答案 1 :(得分:0)
为什么WHERE AND TABLE_SCHEMA='mytableName'
此时AND
无效。
除了Tablename在TABLE_NAME列中而不是TABLE_SCHEMA,maby你应该尝试使用模式名称而不是表名过滤:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='YOUR_SCHEMA_NAME'
或者如果您需要有关特定表格的信息:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME='YOUR_TABLE_NAME'
答案 2 :(得分:0)
首先:该查询无效(删除AND
)。
第二个它是空的,因为模式(也称为数据库)中没有名为mytableName
的表。
另请查看SHOW TABLES
(documentation)和SHOW DATABASES
(documentation)