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

为galaxy表size列添加NOT NULL约束时遇语法错误求助

解决PostgreSQL添加NOT NULL约束的语法错误

你报错的核心原因是重复指定了列的数据类型,PostgreSQL中ALTER TABLE ... ALTER COLUMN添加NOT NULL约束时,不需要再次声明列的类型——列的类型在创建表时已经定义,重复写会触发语法解析错误。

正确的SQL语句

直接执行以下命令即可完成约束添加:

ALTER TABLE galaxy ALTER COLUMN size SET NOT NULL;

额外注意事项

  • 执行前必须确保size列不存在NULL值,否则现有数据会违反新约束导致执行失败。可以先检查是否有NULL行:
    SELECT * FROM galaxy WHERE size IS NULL;
    
  • 如果存在NULL值,需要先更新这些行(比如设置符合业务逻辑的默认值):
    UPDATE galaxy SET size = 0 WHERE size IS NULL; -- 替换0为你需要的默认值
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 01:27:02