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

PostgreSQL添加带默认值的数组列的正确语法是什么

问题核心原因

你编写的SQL漏了DEFAULT关键字来声明列的默认值,同时数组字面量的包裹符号使用错误,PostgreSQL无法解析对应的语法。之前仅修改引号不生效的核心原因就是缺少DEFAULT关键字声明。

正确写法

你可以任选下面两种写法之一:

  • 数组字面量写法(兼容性好)
ALTER TABLE "trips" ADD "sw_bounds" double precision[] NOT NULL DEFAULT '{0,0}';
  • ARRAY构造器写法(可读性更高)
ALTER TABLE "trips" ADD "sw_bounds" double precision[] NOT NULL DEFAULT ARRAY[0,0];

语法说明

  • PostgreSQL中默认值必须通过DEFAULT关键字显式声明,不能直接写在NOT NULL约束之后
  • 数组类型的标准声明方式为数据类型[],数据类型 array属于非通用兼容写法,更推荐前者
  • 双引号在PostgreSQL中仅用于标识标识符(如表名、列名),不能用来包裹值类内容;数组字面量需要用单引号包裹;反引号不属于PostgreSQL标准语法,不要使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:54:03