Re: indexing
От | Jeff Duffy |
---|---|
Тема | Re: indexing |
Дата | |
Msg-id | Pine.LNX.4.21.0102270953420.19358-100000@cairhien.alanne.com обсуждение исходный текст |
Ответ на | indexing (si <s@remail.net>) |
Список | pgsql-admin |
On Mon, 26 Feb 2001, si wrote: > Hi, > > I am new to postgresql, Please can you guide me: > > I have created a table and I would like all the entries to be indexed with a number when the data is entered into the database,hence giving it a new id, every time some data is entered. > > e.g. > > I.D. | Name > 1 | Jack > 2 | Jill > > > Does pgsql do this automatically? or do I have to create a seprate ID field like above, and check the database each timethe data is entered and find out the highest number then increment it by 1 and then enter the data with the incrementednumber. Well, it's not automatic, per se. What you want is to create an id field, and use a sequence for that id field. If you use the SERIAL data type for the id column when you create the table, the sequence will be created for you. When you insert data, either insert nothing into the id field ( like INSERT INTO table(name) VALUES ('Jack'), which will cause the next sequence value to be used. Otherwise, use the function nextval('some_table_seq') where "some_table_seq" is the name of your id sequence during insert (use \ds to view your sequences). This is not automatically indexed unless you make it a primary key during creation. See the PostgreSQL docs for more info. Jeff -- Errors have occurred. We won't tell you where or why. Lazy programmers. -- Hacking haiku
В списке pgsql-admin по дате отправления: