Обсуждение: Establishing a primary key

Поиск
Список
Период
Сортировка

Establishing a primary key

От
Bob Pawley
Дата:
I have numerous entries in a column of table 1, some of which are duplicated.
 
I need to transfer this information to table 2 so that I have column that can be used as a primery key.
 
Any help is appreciated.
 
Bob Pawley

Re: Establishing a primary key

От
Scott Marlowe
Дата:
Bob Pawley wrote:
> I have numerous entries in a column of table 1, some of which are
> duplicated.
>
> I need to transfer this information to table 2 so that I have column
> that can be used as a primery key.
>
> Any help is appreciated.

So, I take it you're wanting to have this so that table 1 stays as it
is, and table 2 gets the entries from table 1 made unique, and becomes
the parent of table 1?

If that's the case, you want something like this:

create table2 as select distinct idcolumn from table1;
alter table2 add primary key (idcolumn);
alter table1 add foreign key (idcolumn) references table2(idcolumn);


I think that's about right.

Re: Establishing a primary key

От
Charles Simard
Дата:
> -----Original Message-----
> From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org]On Behalf Of Bob Pawley
> Sent: 22 juin 2007 14:15
> To: Postgresql
> Subject: [GENERAL] Establishing a primary key
>
>
> I have numerous entries in a column of table 1, some of which are
duplicated.
>
> I need to transfer this information to table 2 so that I have column that
can be used as a primery key.
>
> Any help is appreciated.
>
> Bob Pawley

Something like:

Table1{
    col1 text,
    col2 text
}

Table2{
    idtable2 serial,
    col1     text,
    col2     text,
    primary key (idtable2)
}

INSERT INTO Table2 (col1, col2) SELECT col1, col2 FROM Table1;