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

火山引擎 最新活动