PostgreSQL

Hvordan sette opp PostgreSQL automatisk økning av primærnøkkel?

Hvordan sette opp PostgreSQL automatisk økning av primærnøkkel?
Det kan være anledninger hvor du bygger og vedlikeholder tabeller i PostgreSQL når du ønsker bestemte verdier for en kolonne som genereres på forespørsel. Dette gjelder spesielt for "id" -kolonner som fungerer som tabellens primærnøkkel. Heldigvis tillater SERIAL pseudo-typen å gjøre en automatisk inkrementerende heltalsserie praktisk. En serie er en type databaseobjekt i PostgreSQL som produserer en serie indekser eller heltall. En PostgreSQL-sekvens produserer en streng med forskjellige heltall, noe som gjør den egnet til å brukes som en primærnøkkel når du genererer en ny tabell. Vi viser deg hvilke auto-inkrement menyer i PostgreSQL, og vi vil bruke SERIAL pseudo-typen gjennom denne guiden.

Syntaks:

Den generelle syntaksen for oppretting av primærnøkkelen for automatisk økning er som følger:

>> OPPRETT TABELL tabellnavn (id SERIAL);

La oss nå se nærmere på CREATE TABLE-erklæringen:

For å få begrepet automatisk økning, må du sørge for at PostgreSQL er montert og konfigurert på systemet ditt før du fortsetter med illustrasjonene i denne håndboken. Åpne PostgreSQL kommandolinjeskall fra skrivebordet. Legg til servernavnet du vil jobbe med, ellers overlates det til standard. Skriv databasenavnet som ligger på serveren du vil jobbe med. Hvis du ikke vil endre det, la det 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 til databasen du velger. La det være som standard hvis du ikke vil endre det. Skriv inn passordet ditt for det valgte brukernavnet og trykk "Enter" fra tastaturet for å begynne å bruke kommandoskallet.

Bruker SERIAL Keyword som datatype:

Når vi lager en tabell, legger vi vanligvis ikke til nøkkelordet SERIAL i det primære kolonnefeltet. Dette betyr at vi må legge til verdiene i den primære nøkkelkolonnen mens vi bruker INSERT-setningen. Men når vi bruker nøkkelordet SERIAL i forespørselen mens vi oppretter en tabell, trenger vi ikke å 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 definert som den primære nøkkelkolonnen, da datatypen er SERIAL. På den annen side er kolonnen “navn” definert som datatypen TEKST IKKE NULL. Prøv kommandoen nedenfor for å lage en tabell, og tabellen blir opprettet effektivt som vist på bildet nedenfor.

>> OPPRETT TABELLTEST (id SERIENØVRIG Nøkkel, navn TEKST IKKE NULL);

La oss sette inn noen verdier i kolonnen "navn" i den nyopprettede tabellen "TEST". Vi legger ikke til noen verdi i kolonnen “id”. Du kan se at verdiene er satt inn med INSERT-kommandoen som angitt nedenfor.

>> INSERT INTO Test (name) VALUES ('Aqsa'), ('Rimsha'), ('Khan');

Det er på tide å sjekke postene i tabellen 'Test'. Prøv SELECT-instruksjonen nedenfor i kommandoskallet.

>> VELG * FRA test;

Fra utdataene nedenfor kan du merke at kolonnen “id” automatisk har noen verdier i seg selv om vi ikke har lagt til noen verdier fra INSERT-kommandoen på grunn av datatypen SERIAL vi har angitt for kolonnen “id”. Slik fungerer datatypen SERIAL alene.

Eksempel 02:

En annen måte å sjekke verdien på SERIAL-datatypekolonnen er ved å bruke RETURNING-nøkkelordet i INSERT-kommandoen. Erklæringen nedenfor oppretter en ny linje i "Test" -tabellen og gir verdien for "id" -feltet:

>> INSERT INTO Test (name) VALUES ('Hassam') RETURNING id;

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

>> VELG * FRA test;

Eksempel 03:

Den alternative versjonen av ovennevnte innføringsspørring bruker nøkkelordet STANDARD. Vi bruker kolonne "id" -navn i INSERT-kommandoen, og i delen VERDIER vil vi gi det Nøkkelordet STANDARD som verdi. Søket nedenfor fungerer det samme ved utførelse.

>> INSERT INTO Test (id, name) 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 at den nye verdien er lagt til mens kolonnen "id" er inkrementert som standard.

Eksempel 04:

Sekvensnummeret til SERIAL-kolonnefeltet 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 dette spørsmålet vil vi gi tabellnavnet og dets SERIAL-kolonnenavn i parameterne for funksjonen pg_get_serial_sequence (). Som du kan se, har vi angitt tabellen "Test" og kolonne "id". Denne metoden brukes i nedenstående spørreeksempel:

>> VELG currval (pg_get_serial_sequence ('Test', 'id'));

Det er verdt å merke seg at vår currval () -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 veiledningen har vi demonstrert hvordan du bruker SERIAL pseudo-typen til automatisk økning i PostgreSQL. Ved å bruke en serie i PostgreSQL er det enkelt å bygge et automatisk økende antall tall. Forhåpentligvis vil du kunne bruke SERIAL-feltet på tabellbeskrivelsene ved hjelp av illustrasjonene våre som referanse.

Mus Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Dual Display Mouse Manager lar deg kontrollere og konfigurere musebevegelse mellom flere skjermer, ved å bremse bevegelsene nær grensen. Windows 10/8,...
Mus WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
Hvis du vil forbedre standardfunksjonene til musepekeren, bruk freeware WinMouse. Det legger til flere funksjoner som hjelper deg å få mest mulig ut a...
Mus Mus venstreklikknapp fungerer ikke på Windows 10
Mus venstreklikknapp fungerer ikke på Windows 10
Hvis du bruker en dedikert mus med den bærbare eller stasjonære datamaskinen, men museklikk-knappen fungerer ikke på Windows 10/8/7 av en eller annen ...