PostgreSQL

Kako postaviti primarni ključ za automatsko povećanje PostgreSQL-a?

Kako postaviti primarni ključ za automatsko povećanje PostgreSQL-a?
Mogu biti prilike kada gradite i održavate tablice u PostgreSQL-u kada želite određene vrijednosti za stupac koji se generira na zahtjev. To bi posebno vrijedilo za stupce "id" koji djeluju kao primarni ključ tablice. Srećom, pseudo-tip SERIAL omogućuje praktično automatsko povećavanje cijelih serija. Niz je vrsta objekta baze podataka u PostgreSQL-u koji stvara niz indeksa ili cijelih brojeva. Slijed PostgreSQL stvara niz različitih cijelih brojeva, što ga čini prikladnim za upotrebu kao primarni ključ prilikom generiranja nove tablice. Pokazat ćemo vam koje su automatske povećanja u PostgreSQL-u i u ovom ćemo vodiču koristiti pseudo-tip SERIAL.

Sintaksa:

Opća sintaksa za stvaranje primarnog ključa sa automatskim povećanjem je sljedeća:

>> IZRADI TABELU ime_tabele (id SERIJALNO);

Pogledajmo sada detaljnije deklaraciju CREATE TABLE:

Da biste dobili koncept automatskog povećanja, osigurajte da je PostgreSQL montiran i konfiguriran na vaš sustav prije nastavka sa ilustracijama u ovom vodiču. Otvorite ljusku naredbenog retka PostgreSQL sa radne površine. Dodajte ime poslužitelja na kojem želite raditi, inače ga ostavite zadanim. Napišite ime baze podataka koje leži na vašem poslužitelju na kojem želite raditi. Ako ga ne želite promijeniti, ostavite ga kao zadani. Koristit ćemo bazu podataka "test", zato smo je i dodali. Također možete raditi na zadanom portu 5432, ali možete ga i promijeniti. Na kraju, morate navesti korisničko ime za odabranu bazu podataka. Ostavite ga prema zadanim postavkama ako ga ne želite promijeniti. Upišite lozinku za odabrano korisničko ime i pritisnite tipku "Enter" na tipkovnici da biste počeli koristiti naredbenu ljusku.

Korištenje SERIAL ključne riječi kao vrste podataka:

Kada stvaramo tablicu, obično ne dodavamo ključnu riječ SERIJALNO u polje primarnog stupca. To znači da moramo dodati vrijednosti u stupac primarnog ključa dok koristimo izraz INSERT. Ali kad u stvaranju tablice koristimo ključnu riječ SERIAL, ne bismo trebali dodavati vrijednosti primarnih stupaca prilikom umetanja vrijednosti. Bacimo pogled na to.

Primjer 01:

Stvorite tablicu "Test" s dva stupca "id" i "name". Stupac "id" definiran je kao stupac primarnog ključa jer je njegov tip podataka SERIJALNI. S druge strane, stupac "ime" definiran je kao vrsta podataka TEKST NIJE NULL. Pokušajte s naredbom ispod stvoriti tablicu i ona će se stvoriti učinkovito kao što se vidi na donjoj slici.

>> TEST KREIRATI TABELU (id SERIJSKI PRIMARNI KLJUČ, naziv TEKST NIJE NULL);

Umetnimo neke vrijednosti u stupac “name” novostvorene tablice “TEST”. U stupac "id" nećemo dodavati nikakvu vrijednost. Možete vidjeti da su vrijednosti uspješno umetnute pomoću naredbe INSERT kako je navedeno u nastavku.

>> UMESTI U TEST (naziv) VRIJEDNOSTI ('Aqsa'), ('Rimsha'), ('Khan');

Vrijeme je da provjerite zapise u tablici 'Test'. Pokušajte s naredbom SELECT u školjci naredbi.

>> ODABERI * IZ testa;

Iz donjeg izlaza možete primijetiti da stupac "id" automatski ima neke vrijednosti, iako nismo dodali nikakve vrijednosti iz naredbe INSERT zbog tipa podataka SERIAL koji smo naveli za stupac "id". Na taj način tip podataka SERIAL djeluje samostalno.

Primjer 02:

Drugi način provjere vrijednosti stupca tipa SERIJALNI tip podataka je upotrebom ključne riječi RETURNING u naredbi INSERT. Izjava u nastavku stvara novi redak u tablici "Test" i daje vrijednost za polje "id":

>> INSERT INTO Test (name) VRIJEDNOSTI ('Hassam') POVRATAK id;

Provjerom zapisa tabele „Test“ pomoću upita SELECT dobili smo donji izlaz kao što je prikazano na slici. Peti zapis učinkovito je dodan u tablicu.

>> ODABERI * IZ testa;

Primjer 03:

Alternativna verzija gornjeg upita za umetanje koristi ključnu riječ DEFAULT. U naredbi INSERT koristit ćemo naziv stupca "id", a u odjeljku VRIJEDNOSTI dat ćemo mu ključnu riječ DEFAULT kao vrijednost. Upit u nastavku radit će isto nakon izvršenja.

>> INSERT INTO Test (id, name) VRIJEDNOSTI (DEFAULT, 'Raza');

Provjerimo tablicu ponovno koristeći SELECT upit kako slijedi:

>> ODABERI * IZ testa;

Iz donjeg rezultata možete vidjeti da je dodana nova vrijednost dok je stupac "id" prema zadanim postavkama povećan.

Primjer 04:

Redni broj polja stupca SERIAL nalazi se u tablici u PostgreSQL-u. Za to se koristi metoda pg_get_serial_sequence (). Moramo koristiti funkciju currval () zajedno s metodom pg_get_serial_sequence (). U ovom ćemo upitu pružiti naziv tablice i naziv SERIJSKOG stupca u parametrima funkcije pg_get_serial_sequence (). Kao što vidite, naveli smo tablicu "Test" i stupac "id". Ova se metoda koristi u donjem primjeru upita:

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

Vrijedno je napomenuti da nam naša funkcija currval () pomaže u izdvajanju najnovije vrijednosti niza, a to je "5". Slika dolje ilustracija je kako bi izvedba mogla izgledati.

Zaključak:

U ovom vodiču vodiča pokazali smo kako koristiti pseudo-tip SERIAL za automatsko povećanje u PostgreSQL-u. Korištenjem serije u PostgreSQL-u jednostavno je stvoriti skup automatski povećavajućih brojeva. Nadamo se da ćete moći primijeniti polje SERIAL na opise tablice koristeći naše ilustracije kao referencu.

Kako snimiti i struji svoju igraću sesiju na Linuxu
U prošlosti se igranje igara smatralo samo hobijem, ali s vremenom je igračka industrija zabilježila ogroman rast u pogledu tehnologije i broja igrača...
Najbolje igre za ručno praćenje
Oculus Quest nedavno je predstavio sjajnu ideju ručnog praćenja bez kontrolera. Sa sve većim brojem igara i aktivnosti koje izvršavaju podršku bilo fo...
Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...