26. juli 2000 - 17:45Der er
4 kommentarer og 1 løsning
Auto tæller
Jeg skal i en PostgreSQL database have et felt som automatisk kan bruges som indeks ved at dette felt i hver ny række felt får et nummer højere end det hidtil højeste. Men hvordan gør jeg det?
Der er en funktion i typen af indexet der hedder Autonum, den vælger du og hvergang der bliver nyt til DB´en så kommer der et fortløbende nummer Hilsen Elohim
Undskyld jeg har ligget lidt i sommerhi den sidste uges tid : ) Jeg kan desværre ikke finde noget der hedder Autonum. Kan du ikke give et eksempel med en Create table prove og derudaf.. Hvis jeg indsætter en værdi i felterne er der en funktion som hedder Nextval. Er den relevant?
4.16.1) How do I create a serial/auto-incrementing field?
PostgreSQL supports a SERIAL data type. It auto-creates a sequence and index on the column. For example, this:
CREATE TABLE person ( id SERIAL, name TEXT );
is automatically translated into this:
CREATE SEQUENCE person_id_seq; CREATE TABLE person ( id INT4 NOT NULL DEFAULT nextval(\'person_id_seq\'), name TEXT ); CREATE UNIQUE INDEX person_id_key ON person ( id );
See the create_sequence manual page for more information about sequences. You can also use each row\'s OID field as a unique value. However, if you need to dump and reload the database, you need to use pg_dump\'s -o option or COPY WITH OIDS option to preserve the OIDs.
Jeg har ikke mulighed for at teste det i øjeblikket, men det ser ret fornuftigt ud så jeg giver straks fuld point - ellers glemmer jeg det bare igen :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.