0

为什么在编写这样的选择语句时会出错 - 请注意我的表名“人员编号”旁边的空格/制表符/换行符(我知道命名约定不好,但我必须这样做,因为那是excel电子表格看起来像我必须定期导入表格的方式)

SELECT md.[Personnel Number]
FROM    MainDump md
    LEFT JOIN   EthicsManagement em
    on em.[Personnel Number] = md.[Personnel Number]

而且我必须这样写才能不给我一个错误:

SELECT md.[Personnel Number
]
FROM    MainDump md
    LEFT JOIN   EthicsManagement em
    on em.[Personnel Number] = md.[Personnel Number
]
4

3 回答 3

1
SELECT md.`Personnel Number`
FROM    MainDump md
    LEFT JOIN   EthicsManagement em
    on em.`Personnel Number` = md.`Personnel Number`

尝试在键盘左上角的 Esc 后面使用 [`] 键

于 2013-05-06T06:40:13.177 回答
1

很明显,您的列名包含尾随换行符。如果您绝对确定无法重命名列,那么除了您使用的方法之外,我不知道有任何其他方法可以在列文字中键入换行符:

SELECT md.[Personnel Number
]

无论如何,我有一种强烈的感觉,即您的导入代码中存在错误。我怀疑该列是该行中的最后一个,您已将其设置\n为行分隔符,但您的文件实际上使用\r\n.

于 2013-05-06T09:21:22.743 回答
0

我看到,如果您的列名中带有空格,那么在您将其中一列设置为主键之后,就会发生这种情况。

它将这个添加到您的列名 [Column Name]]

注意双括号

所以要点。为避免出现此类随机错误,请勿在列名中使用空格。

于 2013-05-06T08:14:27.507 回答