You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL无效列名问题:除analyse外还有哪些需规避列名?

PostgreSQL中需避免使用的列名

问题原因

你遇到的错误是因为analyse是PostgreSQL的保留关键字,直接用作列名会触发语法错误。

需要避免的列名类型

  • 核心保留关键字:这类词是SQL标准或PostgreSQL原生的关键字,绝对不能直接作为列名、表名等标识符使用,常见的包括:

    • SQL标准关键字:SELECT、FROM、WHERE、INSERT、UPDATE、DELETE、CREATE、DROP、ALTER、TABLE、INDEX、VIEW、DEFAULT、NULL、TRUE、FALSE
    • PostgreSQL特有关键字:ANALYSE(同ANALYZE,大小写不敏感)、VACUUM、PLPGSQL、SERIAL、BIGSERIAL
  • 非保留但有特殊含义的关键字:这类词虽非严格保留,但在特定SQL语境下有特殊作用,用作列名易引发语法歧义,不推荐使用,比如:

    • USER、ROLE、GROUP、ORDER、JOIN、LEFT、RIGHT、LIMIT、OFFSET、CASE、WHEN、THEN

特殊处理方式

如果确实需要使用上述关键字作为列名,必须用双引号(")包裹,例如:

CREATE TABLE test_table_x1 (
    info TEXT,
    folder TEXT,
    "analyse" TEXT,
    status TEXT
);

但这种方式会让标识符变得大小写敏感(PostgreSQL默认标识符大小写不敏感),且降低代码可读性,不建议采用。

内容的提问来源于stack exchange,提问作者Chazg76

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 10:12:34