【问题标题】:Periods in table names causing errors表名中的句点导致错误
【发布时间】:2018-07-12 13:33:39
【问题描述】:

我正在尝试更新 pgadmin 3 (postgres 9.4) 中的一个表,名为:assay.Luminex.Luminex_GT_shared.Analyte

我一直收到错误:

ERROR:  improper qualified name (too many dotted names): 
assay.luminex.luminex_gt_shared.analyte

我已经测试了反引号和括号无济于事,不断收到语法错误:

SELECT * FROM `assay.Luminex.Luminex_GT_shared.Analyte`;

SELECT * FROM [assay.Luminex.Luminex_GT_shared.Analyte];

我是 SQL 的新手,我只是想对一个表进行简单的更新,然后就卡在了这个上面。

【问题讨论】:

    标签: sql postgresql quoted-identifier


    【解决方案1】:

    正如 SQL 中的documented in the manual,非标准标识符必须用双引号引起来:

    SELECT * 
    FROM "assay.Luminex.Luminex_GT_shared.Analyte";
    

    但是你应该真的避免使用这样的名字。

    【讨论】:

    • 感谢您的快速回复。不幸的是,我正在使用专有数据库,因此我无法控制它们的命名约定!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 2016-08-16
    • 1970-01-01
    相关资源
    最近更新 更多