首页 > 解决方案 > postgres 不删除不为空

问题描述

not null放在主键列上,它执行,在我检查表的模式并且有not null

桌子:

-- auto-generated definition
create table warehouses
(
    id_warehouse       serial      not null
        constraint warehouse_pkey
            primary key,
    responsible_person varchar(30) not null
);

要删除的脚本不为空:

alter table warehouses
    drop constraint warehouse_pkey;

alter table warehouses
    alter id_warehouse drop not null;

alter table warehouses
    add constraint warehouse_pkey
        primary key (id_warehouse);

标签: postgresqldatagrip

解决方案


根据此处的信息:

https://www.postgresql.org/docs/current/sql-createtable.html

PRIMARY KEY(列约束)

PRIMARY KEY 约束指定表的一列或多列只能包含唯一(非重复)、非空值。一个表只能指定一个主键,无论是作为列约束还是表约束。

定义为的列PRIMARY KEY也将具有NOT NULL约束集。


推荐阅读