pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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!

view thread (3+ messages)

Message-ID: <CMEIKGCPKOPCGFKCNHLDAEKLCDAA.mfacontacto@ono.com>
Permalink:  ../CMEIKGCPKOPCGFKCNHLDAEKLCDAA.mfacontacto@ono.com/
Also on:    postgresql.org/message-id/CMEIKGCPKOPCGFKCNHLDAEKLCDAA.mfacontacto@ono.com

 · 

reply

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