2012-01-08 116 views
2

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

所以我创建了一个表有两列:

我使用的代码

ALTER TABLE TableA DROP CONSTRAINT person_id 

从为person_id删除约束,但后来我得到一个错误:

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

有什么问题? PostgreSQL中

+0

的问题是,PostgreSQL有没有命名的约束这样...... – fge 2012-01-08 17:36:05

+0

只是一个侧面说明:我敢确定你做*不*想'CHAR',但你需要'VARCHAR'。 – 2012-01-09 11:44:38

回答

1

主键在默认情况下称为<table>_pkey,所以你可能想是这样的:

ALTER TABLE TableA DROP CONSTRAINT TableA_pkey; 

可以使用\d TableA检查例如名称在psql

0

这意味着,您选择的约束错名字 - 你选择的列名,而不是约束