向现有表添加 PRIMARY KEY 约束

问题描述 投票:0回答:2

我在两周前进行了备份和恢复,所有主键和外键都被禁用。 我该如何改变它?

顺便说一句,我正在使用 Django。不幸的是,我对DB一无所知。

enter image description here

django database postgresql django-models ddl
2个回答
5
投票
使用

ALTER TABLE


ALTER TABLE user_user_user_permissions ADD CONSTRAINT user_user_user_permissions_id_pkey PRIMARY KEY (id);
当然,

id

列中的数据必须是
UNIQUE
NOT NULL
,否则尝试时会出现异常。

如果存在不同的

PRIMARY KEY

 约束,请先删除它:

ALTER TABLE user_user_user_permissions DROP CONSTRAINT old_constraint_name , ADD CONSTRAINT user_user_user_permissions_id_pkey PRIMARY KEY (id);
您可以在 pgAdmin 中的“约束”下查找现有约束的名称,如图所示。


0
投票
你也可以这样做

ALTER TABLE user_user_user_permissions ADD PRIMARY KEY (id);
它应该创建一个名为“user_user_user_permissions_pkey”的约束。

id

列必须已经存在才能工作,它不会创建它。

© www.soinside.com 2019 - 2024. All rights reserved.