Hvordan gjøre PostgreSQL Auto Increment

Hvordan Gjore Postgresql Auto Increment



En måte å sikre de unike identitetene i din PostgreSQL-database er å bruke funksjonen for automatisk økning. Når den er aktivert, genererer denne funksjonen en unik identitet for hver ny oppføring i tabellen din. Med auto-inkrement, hvis du prøver å sette inn en ny verdi med samme unike identifikator, vil det oppstå en feil. Den automatiske økningen kan brukes i forskjellige tilfeller, og du kan definere hvordan du vil at den unike identifikatoren skal genereres. Flere detaljer om PostgreSQL auto-inkrement er detaljert i dette innlegget. Les videre!

To metoder for PostgreSQL Auto Increment

Når du oppretter en database, bør du ha en primærnøkkel for hver tabell for å sikre at ingen duplikater vises i tabellene. En måte å lage primærnøklene på er å bruke funksjonen for automatisk økning for INT-datatypen. PostgreSQL genererer primærnøkkelverdien for alle oppføringer, og frigjør utvikleren fra bryet med å manuelt skrive inn primærnøkkelen.

Det er to tilnærminger som du kan bruke for å lage automatisk inkrement i PostgreSQL-databasen.







Metode 1: Bruk av SERIAL Pseudo-Type

Standardmåten for å lage automatisk økning for primærnøkler i databasen din er å bruke SERIEL-nøkkelordet. Når den brukes, skaper pseudotypen SERIAL en sekvens for å generere verdiene. Den noterer neste verdi i sekvensen, og hver gang du setter inn en ny verdi, blir den tildelt en unik identitet.



Merk at denne automatiske økningen er tilordnet en INT-datatype og blir slettet når tabellen eller kolonnen slettes.



Her er syntaksen for å lage en automatisk økning:





SKAPE BORD TABLE_NAME ( ID SERIELL datatype ) ;

For vårt tilfelle, la oss lage en tabell kalt 'detaljer' som inneholder 'user_id' som vår auto-increment og primærnøkkel. Vi inkluderer også to andre kolonner.



Når vi ønsker å sette inn verdiene i tabellen vår, setter vi bare inn for de andre kolonnene og utelater kolonnen med automatisk økning ettersom verdiene genereres automatisk. Her er et eksempel der vi legger til fem oppføringer i tabellen vår:

Når vi bruker SELECT-setningen for å sjekke tabellpostene, legg merke til at «user_id»-kolonnen inneholder unike identiteter som, i vårt tilfelle, er tall som starter fra 1. Slik gjør du PostgreSQL auto-inkrement ved å bruke SERIAL-pseudotypen.

Metode 2: Lage en sekvens

Når du bruker SERIAL-pseudotypen for å lage de automatiske økningsverdiene, kontrollerer du ikke hvordan dine unike identiteter blir opprettet. For det forrige eksemplet har vi sett at våre unike identiteter starter fra 1. Men hvis du vil kontrollere disse verdiene, la oss si at du vil definere når du skal begynne å generere dem, må du opprette en egendefinert sekvens.

PostgreSQL har SEQUENCE-alternativet der du kan spesifisere kolonnenavnet som skal brukes for den automatiske økningen og definere startverdien for kolonnen. Hvis vi for eksempel vil starte verdiene fra 100, lager vi følgende egendefinerte sekvens:

CREATE SEQUENCE kolonnenavn startverdi;

Etter å ha opprettet sekvensen, kan du nå lage tabellen. Merk at du må bruke samme kolonnenavn som du opprettet en sekvens for, for eksempel 'nextval('holder')' for den opprettede tabellen. På den måten refererer PostgreSQL til sekvensen for å vite hvilken rekkefølge du skal følge når du genererer den unike identiteten for kolonnene.

Vi kjører følgende kommando for å lage tabellen vår:

Fortsett med å sette inn verdiene i den opprettede tabellen for de relevante kolonnene.

Når vi kjører 'velg'-spørringen for å liste opp tabelloppføringene, kan vi se at vi klarte å kontrollere den automatiske økningen vår. Kolonnen 'user_id' starter verdien på 100 og genererer de påfølgende verdiene for de andre oppføringene som vi setter inn i tabellen.

Det er den andre måten å lage den automatiske økningen for PostgreSQL.

Konklusjon

Å lage en automatisk økning er gunstig for å skape unikhet i tabellen din. Når du vil definere en primærnøkkel for tabellen, bruk funksjonen for automatisk økning for INT-datatypen. PostgreSQL genererer verdiene automatisk, og sikrer at det ikke finnes duplikater i tabellen din. Vi definerte hvordan du oppretter den automatiske økningen for PostgreSQL og ga to eksempler på de to metodene du kan bruke. Begge metodene kan brukes avhengig av scenariet du har. Prøv dem!