From: Mauricio Fernandez A. <mfacontacto@ono.com>
To: pgsql-sql@postgresql.org
Subject: Re: how to add primary key to existing table with multiple primary keys
Date: Wed, 1 Mar 2006 11:17:15 +0100
Message-ID: <CMEIKGCPKOPCGFKCNHLDAEKLCDAA.mfacontacto@ono.com> (raw)
In-Reply-To: <20060224015148.A9BB99DC9E3@postgresql.org>
Your table has a primary key yet, so you can?t add a second primary key.
You only can define one pk, however it can be composed as your table has (it
now has 2 columns), so I think you need to drop the current pk and add again
the new pk with your 3 columns (probeid, tissueid, expid).
Review this
http://www.postgresql.org/docs/8.1/interactive/ddl-constraints.html#AEN2038
Mauricio Fernandez A.
Ingeniero de Sistemas
Universidad Autonoma de Manizales (Colombia)
-----Mensaje original-----
De: pgsql-sql-owner@postgresql.org
[mailto:pgsql-sql-owner@postgresql.org]En nombre de Daniel Joo
Enviado el: viernes, 24 febrero, 2006 2:45
Para: pgsql-sql@postgresql.org
Asunto: [SQL] how to add primary key to existing table with multiple
primary keys
Hi there,
I am trying to add another primary key to an existing table with two other
primary keys. I got the following error when I tried this command:
alter table extprobe2tissue ADD primary key (expid);
ERROR: multiple primary keys for table "extprobe2tissue" are not allowed
The details of the extprobe2tissue table is:
\d extprobe2tissue;
Table "public.extprobe2tissue"
Column | Type | Modifiers
-------------+------------------------+-----------
probeid | integer | not null
tissueid | integer | not null
value | double precision | not null
entrydate | date | not null
description | character varying(200) |
qval | double precision |
expid | integer | not null
Indexes:
"extprobe2tissue_pkey" PRIMARY KEY, btree (probeid, tissueid)
"extprobe2tissue_probeid" btree (probeid)
"extprobe2tissue_tissueid" btree (tissueid)
Foreign-key constraints:
"extprobe2tissue_tissueid_fkey" FOREIGN KEY (tissueid) REFERENCES
tissue(tissueid)
"extprobe2tissue_probeid_fkey" FOREIGN KEY (probeid) REFERENCES
extprobe(probeid)
Any suggestion would be much appreciated.
Thanks!
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: mfacontacto@ono.com
Subject: Re: how to add primary key to existing table with multiple primary keys
In-Reply-To: <CMEIKGCPKOPCGFKCNHLDAEKLCDAA.mfacontacto@ono.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox