删除约束时出现错误消息

时间:2012-01-08 17:34:39

标签: sql postgresql constraints alter sql-drop

每当我想从列中删除约束时,我都会收到错误。我看不出问题。我正在使用postgres。

所以我创建了一个包含两列的表:

CREATE TABLE TableA(
person_id INT PRIMARY KEY,
lastname CHAR(100)
)

我使用代码

ALTER TABLE TableA DROP CONSTRAINT person_id

从person_id中删除约束,但后来出现错误:

Error : ERROR:  constraint "person_id" of relation "tablea" does not exist

有什么问题?

2 个答案:

答案 0 :(得分:1)

PostgreSQL中的主键默认称为<table>_pkey,所以你可能想要这样的东西:

ALTER TABLE TableA DROP CONSTRAINT TableA_pkey;

您可以使用psql\d TableA中查看名称。

答案 1 :(得分:0)

这意味着您选择了错误的约束名称 - 您选择列名而不是约束