SQL 服务器管理工作室在列出列时显示 "invalid column name"?
SQL Server Mgmt Studio shows "invalid column name" when listing columns?
我习惯于在 Python 或 Matlab 中编写脚本,而我在 SQL 的前几个小时一直很生气。我想让一个列列表以任何方式、形状或形式出现在屏幕上;但是当我使用像
这样的命令时
select *
from "2Second Log.dbo.TagTable.Columns"
我一直收到错误消息:
Invalid column name '[the first column in my table]'.
尽管我从未明确要求 [table] 中的第一列,但它帮我找到了。你怎么能正确识别第一个列名,然后仍然声称它是无效的!?婴儿会被勒死。
此数据库由 Allen Bradley 的 FactoryTalk 软件生成。我真正想做的是生成一个 "TagName" 字符串的实际列表......但是当我尝试这样做时我得到了同样的错误。如果有一种方法可以实际双击 table 并打开它并查看它(就像在 Matlab 中一样),那就太理想了。
回应 juergen 在上面评论中的建议。看起来您是 运行 对 master
数据库的查询,而不是 2Second Log
实际拥有您的 table 的数据库。 (您可以通过查看屏幕截图左上角下拉列表中的数据库来判断)。您可以做两件事:
- 将左上角的下拉菜单更改为
2Second Log
。这会将您的查询定位到不同的数据库
- 按照 juergen 的建议将您的数据库名称放在括号中,即
select * from [2Second Log].dbo.TagTable
另一方面,如果您正在寻找好的 SQL 教程,我强烈推荐 Mode SQL tutorial。这是一个让您的 SQL 脚湿润的绝佳互动平台。
当 names/field 有空格或破折号时总是使用方括号。
select * from [2Second Log].dbo.TagTable
我习惯于在 Python 或 Matlab 中编写脚本,而我在 SQL 的前几个小时一直很生气。我想让一个列列表以任何方式、形状或形式出现在屏幕上;但是当我使用像
这样的命令时select *
from "2Second Log.dbo.TagTable.Columns"
我一直收到错误消息:
Invalid column name '[the first column in my table]'.
尽管我从未明确要求 [table] 中的第一列,但它帮我找到了。你怎么能正确识别第一个列名,然后仍然声称它是无效的!?婴儿会被勒死。
此数据库由 Allen Bradley 的 FactoryTalk 软件生成。我真正想做的是生成一个 "TagName" 字符串的实际列表......但是当我尝试这样做时我得到了同样的错误。如果有一种方法可以实际双击 table 并打开它并查看它(就像在 Matlab 中一样),那就太理想了。
回应 juergen 在上面评论中的建议。看起来您是 运行 对 master
数据库的查询,而不是 2Second Log
实际拥有您的 table 的数据库。 (您可以通过查看屏幕截图左上角下拉列表中的数据库来判断)。您可以做两件事:
- 将左上角的下拉菜单更改为
2Second Log
。这会将您的查询定位到不同的数据库 - 按照 juergen 的建议将您的数据库名称放在括号中,即
select * from [2Second Log].dbo.TagTable
另一方面,如果您正在寻找好的 SQL 教程,我强烈推荐 Mode SQL tutorial。这是一个让您的 SQL 脚湿润的绝佳互动平台。
当 names/field 有空格或破折号时总是使用方括号。
select * from [2Second Log].dbo.TagTable