Kako nastaviti primarni ključ za samodejno povečanje PostgreSQL?

How Setup Postgresql Auto Increment Primary Key



Včasih lahko sestavite in vzdržujete tabele v PostgreSQL, ko želite posebne vrednosti za stolpec, ki je ustvarjen na zahtevo. To bi še posebej veljalo za stolpce id, ki delujejo kot primarni ključ tabele. Na srečo psevdotip SERIAL omogoča priročno samodejno povečevanje celoštevilčne serije. Serija je vrsta predmeta zbirke podatkov v PostgreSQL, ki proizvaja niz indeksov ali celih števil. Zaporedje PostgreSQL ustvari niz različnih celih števil, zaradi česar je primeren za uporabo kot primarni ključ pri ustvarjanju nove tabele. Pokazali vam bomo, katere menije samodejnega povečevanja v PostgreSQL, v tem priročniku pa bomo uporabljali psevdotip SERIAL.

Sintaksa:

Splošna sintaksa za ustvarjanje primarnega ključa za samodejno povečanje je naslednja:







>>Ustvari tabelo ime_tabele( idSERIJSKO);

Zdaj pa poglejmo podrobneje deklaracijo CREATE TABLE:



  • PostgreSQL najprej ustvari niz entitete. Proizvede naslednjo vrednost v nizu in jo nastavi kot privzeto referenčno vrednost polja.
  • PostgreSQL uporablja implicitno omejitev NOT NULL za polje id, ker niz proizvaja številske vrednosti.
  • Polje id bo dodeljeno nosilcu serije. Če polje id ali samo tabelo izpustite, bo zaporedje zavrženo.

Če želite razumeti koncept samodejnega povečanja, se prepričajte, da je PostgreSQL nameščen in konfiguriran v vašem sistemu, preden nadaljujete s ponazoritvami v tem priročniku. Odprite lupino ukazne vrstice PostgreSQL na namizju. Dodajte ime strežnika, na katerem želite delati, sicer ga pustite privzetemu. Napišite ime zbirke podatkov, ki leži v vašem strežniku, na katerem želite delati. Če je ne želite spremeniti, jo pustite privzeto. Uporabljali bomo testno bazo podatkov, zato smo jo dodali. Delate lahko tudi na privzetih vratih 5432, lahko pa jih tudi spremenite. Na koncu morate za izbrano zbirko podatkov navesti uporabniško ime. Če je ne želite spremeniti, jo pustite privzeto. Vnesite geslo za izbrano uporabniško ime in pritisnite Enter s tipkovnice, da začnete uporabljati ukazno lupino.







Uporaba serijske ključne besede kot podatkovnega tipa:

Ko ustvarjamo tabelo, običajno ne dodamo ključne besede SERIAL v polje primarnega stolpca. To pomeni, da moramo pri uporabi stavka INSERT vrednosti dodati v stolpec primarnega ključa. Ko pa pri ustvarjanju tabele v poizvedbi uporabimo ključno besedo SERIAL, nam pri vstavljanju vrednosti ne bi bilo treba dodajati vrednosti primarnega stolpca. Poglejmo si ga.

Primer 01:

Ustvarite tabelo Test z dvema stolpcema id in imenom. ID stolpca je bil definiran kot stolpec primarnega ključa, saj je njegov podatkovni tip SERIAL. Po drugi strani je ime stolpca definirano kot podatkovni tip TEXT NOT NULL. S spodnjim ukazom ustvarite tabelo in tabela bo ustvarjena učinkovito, kot je prikazano na spodnji sliki.



>>Ustvari preskusno tabelo( idZADNJI PRIMARNI KLJUČ, ime BESEDILO NI NIČ);

Vstavimo nekaj vrednosti v ime stolpca na novo ustvarjene tabele TEST. ID -ju stolpca ne bomo dodali nobene vrednosti. Vidite lahko, da so bile vrednosti uspešno vstavljene z ukazom INSERT, kot je navedeno spodaj.

>>INSERT INTO Test(ime)VREDNOTE('Aqsa'),('Rimša'),('Khan');

Čas je, da preverite zapise tabele 'Test'. Poskusite spodnje navodilo SELECT v ukazni lupini.

>>IZBERI*IZ Testa;

Iz spodnjega izhoda lahko opazite, da ima ID stolpca samodejno nekaj vrednosti, čeprav nismo dodali nobenih vrednosti iz ukaza INSERT zaradi podatkovnega tipa SERIAL, ki smo ga podali za id stolpca. Tako tip podatkov SERIAL deluje sam.

Primer 02:

Drug način za preverjanje vrednosti stolpca podatkovnega tipa SERIAL je uporaba ključne besede RETURNING v ukazu INSERT. Spodnja deklaracija ustvari novo vrstico v preskusni tabeli in poda vrednost za polje id:

>>INSERT INTO Test(ime)VREDNOTE('Hassam')VRNITEVid;

S preverjanjem zapisov tabele Test z uporabo poizvedbe SELECT smo dobili spodnji izhod, prikazan na sliki. Peti zapis je bil učinkovito dodan tabeli.

>>IZBERI*IZ Testa;

Primer 03:

Alternativna različica zgornje vstavitvene poizvedbe uporablja ključno besedo DEFAULT. V ukazu INSERT bomo uporabili ime id stolpca, v razdelku VALUES pa mu bomo kot vrednost dali ključno besedo DEFAULT. Spodnja poizvedba bo ob izvedbi delovala enako.

>>INSERT INTO Test(id, ime)VREDNOTE(DEFAULT, 'Dirka');

Ponovno preverimo tabelo z uporabo poizvedbe SELECT:

>>IZBERI*IZ Testa;

Iz spodnjega izhoda lahko vidite, da je bila nova vrednost dodana, medtem ko je bil ID stolpca privzeto povečan.

Primer 04:

Zaporedno številko polja stolpca SERIAL najdete v tabeli v PostgreSQL. Za to se uporablja metoda pg_get_serial_sequence (). Uporabiti moramo funkcijo currval () skupaj z metodo pg_get_serial_sequence (). V tej poizvedbi bomo podali ime tabele in ime stolpca SERIAL v parametrih funkcije pg_get_serial_sequence (). Kot lahko vidite, smo podali tabelo Test in id stolpca. Ta metoda se uporablja v spodnjem primeru poizvedbe:

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

Omeniti velja, da nam funkcija currval () pomaga izvleči najnovejšo vrednost zaporedja, to je 5. Spodnja slika je ponazoritev, kako bi lahko izgledala izvedba.

Zaključek:

V tem priročniku smo pokazali, kako uporabiti psevdotip SERIAL za samodejno povečanje v PostgreSQL. Z uporabo niza v PostgreSQL je enostavno sestaviti niz samodejno povečevanja števil. Upajmo, da boste lahko uporabili polje SERIAL za opise tabel z uporabo naših ilustracij kot referenco.