Re: Table with Field Serial - Problem

Поиск
Список
Период
Сортировка
От Yostin Vargas
Тема Re: Table with Field Serial - Problem
Дата
Msg-id CAPMdYjBGLURuD_ExuAUHFSimKT07zLcj8CJ-9=GRZjBgXrvq8w@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Table with Field Serial - Problem  (Adrian Klaver <adrian.klaver@gmail.com>)
Ответы Re: Table with Field Serial - Problem  (Adrian Klaver <adrian.klaver@gmail.com>)
Список pgsql-general
i really dont need a number generator, only a unique PK. but i want that this PK be generate automatically  

for example i have a Category calling Computer in English but i have the same Category in Spanish (Computadora)  i assigned the ID->1 for both

So if i put the Pk ID  in the table2 number i have error for unique violation when i want  INSERT another name in a diferent language for the same category

For that reason i declare ID in the table2  like a FK from ID in the table1


2013/10/31 Adrian Klaver <adrian.klaver@gmail.com>
On 10/31/2013 09:32 AM, David Johnston wrote:
Adrian Klaver-3 wrote
Table1
   Column  |       Type        |                          Modifiers
----------+-------------------__+-----------------------------__------------------------------__--
   id   | integer           | not null default
nextval('test_table_id_fld___seq'::regclass)


Table2
Column  |       Type        |                      related
----------+-------------------__+-----------------------------__------------------------------__--
   id_table1   | integer           |  FK of Table1.id
   id_lang       | integer          |  FK of lang.id
&lt;http://lang.id&gt;
   name         |  varchar


The PK for table 2 is composite: the serial key from table 1 + the language
id.  The table 1 id has to be able to repeat since the same "entity" needs
multiple translations.  Using a serial on table 2 is also possible but a
separate issue and probably not worth adding since you need a unique index
on (id_table1, id_lang) regardless.

The question is why isn't there some kind of identifier on table 1 that
gives you some idea of what the id/table record is for?

Exactly the id_table1 FK has no context, it is just a number generator, so why make it separate? If want to just generate numbers why not just use the sequence directly?


David J.





--
Adrian Klaver
adrian.klaver@gmail.com



--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

В списке pgsql-general по дате отправления:

Предыдущее
От: hubert depesz lubaczewski
Дата:
Сообщение: Re: Explanantion on pgbouncer please
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: Table with Field Serial - Problem