Hvordan sette opp PostgreSQL Auto-Increment primærnøkkel?

Hvordan sette opp PostgreSQL Auto-Increment primærnøkkel?
Det kan være anledninger der du bygger og vedlikeholder tabeller i PostgreSQL når du vil ha spesielle verdier for en kolonne som genereres på forespørsel. Dette vil være spesielt sant for "ID" -kolonner som fungerer som tabellens primære nøkkel. Heldigvis tillater den serielle pseudo-typen å lage en automatisk utryddende heltallsserie praktisk. En serie er en type databaseobjekt i PostgreSQL som produserer en serie indekser eller heltall. En postgreSQL -sekvens produserer en rekke distinkte heltall, noe som gjør den egnet til å brukes som en primærnøkkel når du genererer en ny tabell. Vi vil demonstrere for deg hvilke auto-increment Menas i PostgreSQL, og vi vil bruke den serielle pseudo-typen gjennom denne guiden.

Syntaks:

Den generelle syntaksen for å opprette den primære nøkkelen til auto-increment er som følger:

>> Opprett tabell Tabell_navn (ID Serial);

La oss nå se på Create Table -erklæringen mer detaljert:

  • PostgreSQL genererer en serieenhet først. Den produserer neste verdi i serien og setter den som feltets standardreferanseverdi.
  • PostgreSQL bruker den implisitte begrensningen som ikke er null til et ID -felt siden en serie produserer numeriske verdier.
  • ID -feltet vil bli tildelt som innehaver av serien. Hvis ID -feltet eller selve tabellen er utelatt, blir sekvensen kastet.

For å få begrepet auto-increment, må du forsikre deg om at PostgreSQL er montert og konfigurert på systemet ditt før du fortsetter med illustrasjonene i denne guiden. Åpne PostgreSQL-kommandolinjeskallet fra skrivebordet. Legg til servernavnet ditt du vil jobbe med på, ellers overlat det til standard. Skriv databasenavnet som ligger på serveren din du vil jobbe med. Hvis du ikke vil endre den, så la den være som standard. Vi bruker "test" -databasen, det er derfor vi har lagt den til. Du kan også jobbe med standardport 5432, men du kan også endre den. Til slutt må du oppgi brukernavnet for databasen du velger. La det være standard hvis du ikke vil endre det. Skriv inn passordet ditt for det valgte brukernavnet og trykk “Enter” fra tastaturet for å begynne å bruke kommandoskallet.

Bruke seriell nøkkelord som datatype:

Når vi lager en tabell, legger vi vanligvis ikke til nøkkelordserien i feltet Primary Column. Dette betyr at vi må legge til verdiene til den primære nøkkelkolonnen mens vi bruker innsatserklæringen. Men når vi bruker nøkkelordsserien i spørringen vår mens vi oppretter en tabell, bør vi ikke trenge å legge til primære kolonneverdier mens vi setter inn verdiene. La oss se på det.

Eksempel 01:

Lag en tabell “Test” med to kolonner “ID” og “Navn”. Kolonnen "ID" er blitt definert som den primære nøkkelkolonnen som datatypen er seriell. På den annen side er kolonnen “Navn” definert som teksten Not Null Data Type. Prøv kommandoen nedenfor for å opprette en tabell, og tabellen vil bli opprettet effektivt som sett på bildet nedenfor.

>> Opprett tabelltest (ID Serial Primary Key, Name Text Not Null);

La oss sette inn noen verdier i kolonnen "Navn" på den nyopprettede tabellen "Test". Vi vil ikke legge til noen verdi til kolonnen "ID". Du kan se at verdiene er blitt satt inn ved hjelp av INSERT -kommandoen som angitt nedenfor.

>> sett inn i test (navn) verdier ('aqsa'), ('rimsha'), ('khan');

Det er på tide å sjekke postene til tabellen 'Test'. Prøv nedenfor Velg instruksjon i kommandoskallet.

>> Velg * fra test;

Fra utgangen nedenfor kan du legge merke til at kolonnen "ID" automatisk har fått noen verdier i den, selv om vi ikke har lagt til noen verdier fra INSERT -kommandoen på grunn av datatypeserien vi har spesifisert for kolonnen "ID". Slik fungerer datatype -serien på egen hånd.

Eksempel 02:

En annen måte å sjekke den serielle datatypekolonnenes verdi er ved å bruke det returnerende nøkkelordet i INSERT -kommandoen. Erklæringen nedenfor oppretter en ny linje i "test" -tabellen og gir verdien for "ID" -feltet:

>> Sett inn test (Navn) verdier ('Hassam') returnerende ID;

Ved å sjekke postene til tabellen "Test" ved hjelp av SELECT -spørringen, fikk vi utdataene nedenfor som vist på bildet. Den femte posten har blitt lagt effektivt til bordet.

>> Velg * fra test;

Eksempel 03:

Den alternative versjonen av ovennevnte Insert -spørringen bruker standard nøkkelord. Vi bruker kolonne “ID” -navn i INSERT -kommandoen, og i verdiseksjonen vil vi gi det standard nøkkelord som verdien. Spørringen nedenfor fungerer det samme ved utførelse.

>> sett inn i test (ID, navn) verdier (standard, 'raza');

La oss sjekke tabellen igjen ved hjelp av SELECT -spørringen som følger:

>> Velg * fra test;

Du kan se fra utdataene nedenfor, den nye verdien er lagt til mens kolonnen "ID" er økt som standard.

Eksempel 04:

Sekvensnummeret til seriekolonnefeltet finner du i en tabell i PostgreSQL. Metoden pg_get_serial_sequence () brukes til å oppnå dette. Vi må bruke CurrVal () -funksjonen sammen med PG_GET_Serial_Sequence () -metoden. I denne spørringen vil vi oppgi tabellnavnet og dets serielle kolonnenavn i parametrene til funksjonen PG_GET_Serial_Sequence (). Som du kan se, har vi spesifisert tabell “Test” og kolonne “ID”. Denne metoden brukes i eksempelet nedenfor:

>> velg currval (pg_get_serial_sequence ('test', 'id'));

Det er verdt å merke seg at vår curVal () -funksjon hjelper oss med å trekke ut sekvensens siste verdi, som er "5". Bildet nedenfor er en illustrasjon av hvordan forestillingen kan se ut.

Konklusjon:

I denne guideopplæringen har vi demonstrert hvordan vi bruker seriell pseudo-type for å automatisk inkrement i PostgreSQL. Ved hjelp av en serie i PostgreSQL er det enkelt å bygge et automatisk deler av tall. Forhåpentligvis vil du kunne bruke seriefeltet på tabellbeskrivelsene ved å bruke illustrasjonene våre som referanse.