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

PostgreSQL中为表字段添加默认约束报错,求正确实现方法

正确为PostgreSQL表字段添加带命名的默认约束的方法

嘿,你这是把SQL Server的语法用到PostgreSQL上啦,两种数据库的默认约束语法不一样,所以才会报语法错误。我给你两种靠谱的实现方式:

方式1:直接设置字段默认值(自动生成约束名)

如果不需要特意给约束命名,用这个最简洁:

ALTER TABLE Alerts ALTER COLUMN bIsActive SET DEFAULT 1;

方式2:显式命名默认约束

如果你想保留类似DF_Alerts_bIsActive这样的自定义约束名,PostgreSQL的正确语法是这样的:

ALTER TABLE Alerts
ADD CONSTRAINT DF_Alerts_bIsActive
DEFAULT 1 FOR bIsActive;

错误原因说明

你原来写的ALTER TABLE Alerts ADD CONSTRAINT DF_Alerts_bIsActive SET DEFAULT ((1)) FOR bIsActive;是SQL Server专属的语法,PostgreSQL不识别ADD CONSTRAINT后面跟SET DEFAULT的写法,这就是报错的根源啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:06:40