Ako nastaviť primárny kľúč automatického zvyšovania PostgreSQL?

How Setup Postgresql Auto Increment Primary Key



Mohli by nastať prípady, keď budete v PostgreSQL vytvárať a udržiavať tabuľky, keď budete chcieť konkrétne hodnoty pre stĺpec, ktorý je generovaný na požiadanie. To by platilo obzvlášť pre stĺpce id, ktoré slúžia ako primárny kľúč tabuľky. Našťastie SÉRIOVÝ pseudo typ umožňuje pohodlnú automatickú inkrementáciu celého radu. Séria je typ databázového objektu v programe PostgreSQL, ktorý vytvára sériu indexov alebo celých čísel. Sekvencia PostgreSQL vytvára reťazec odlišných celých čísel, vďaka čomu je vhodný na použitie ako primárny kľúč pri generovaní novej tabuľky. Ukážeme vám, aké automatické zvyšovanie ponúk v PostgreSQL bude v tejto príručke používať SERIÁLNY pseudo typ.

Syntax:

Všeobecná syntax na vytvorenie primárneho kľúča automatického prírastku je nasledovná:







>>VYTVORIŤ TABUĽKU názov_tabulky( idSÉRIOVÉ);

Pozrime sa teraz podrobnejšie na vyhlásenie CREATE TABLE:



  • PostgreSQL vygeneruje najskôr sériovú entitu. Vytvorí ďalšiu hodnotu v sérii a nastaví ju ako predvolenú referenčnú hodnotu poľa.
  • PostgreSQL aplikuje implicitné obmedzenie NOT NULL na pole id, pretože séria vytvára číselné hodnoty.
  • Pole ID bude pridelené ako držiteľ série. Ak je pole id alebo samotná tabuľka vynechané, sekvencia bude zahodená.

Ak chcete získať koncept automatického prírastku, uistite sa, že pred pokračovaním v ilustráciách v tejto príručke je vo vašom systéme nainštalovaný a nakonfigurovaný PostgreSQL. Na pracovnej ploche otvorte shell príkazového riadka PostgreSQL. Pridajte názov servera, na ktorom chcete pracovať, v opačnom prípade ho nechajte predvolený. Napíšte názov databázy, ktorá sa nachádza na vašom serveri, na ktorom chcete pracovať. Ak to nechcete zmeniť, ponechajte to ako predvolené. Budeme používať testovaciu databázu, preto sme ju pridali. Môžete tiež pracovať na predvolenom porte 5432, ale môžete ho aj zmeniť. Nakoniec musíte zadať používateľské meno pre databázu, ktorú si vyberiete. Ak to nechcete zmeniť, nechajte ho predvolené. Zadajte heslo pre zvolené používateľské meno a stlačením klávesu Enter začnite používať príkazový shell.







Použitie SÉRIOVÉHO kľúčového slova ako dátového typu:

Keď vytvárame tabuľku, kľúčové slovo SERIÁL zvyčajne nepridávame do poľa primárneho stĺpca. To znamená, že musíme pomocou príkazu INSERT pridať hodnoty do stĺpca primárneho kľúča. Keď však pri vytváraní tabuľky použijeme v dotaze kľúčové slovo SERIÁL, nemali by sme pri vkladaní hodnôt pridávať hodnoty primárneho stĺpca. Pozrime sa na to.

Príklad 01:

Vytvorte test tabuľky s dvoma stĺpcami id a name. Identifikátor stĺpca bol definovaný ako stĺpec primárneho kľúča, pretože jeho typ údajov je SÉRIOVÝ. Na druhej strane je názov stĺpca definovaný ako typ údajov TEXT NIE JE NULL. Skúste použiť nižšie uvedený príkaz na vytvorenie tabuľky a tabuľka sa vytvorí efektívne, ako je vidieť na obrázku nižšie.



>>VYTVORIŤ TABUĽKU Test( idSÉRIOVÝ PRIMÁRNY KĽÚČ, názov TEXT NIE JE NULL);

Vložme niektoré hodnoty do názvu stĺpca novovytvoreného TESTU tabuľky. Do ID stĺpca nepridáme žiadnu hodnotu. Môžete vidieť, že hodnoty boli úspešne vložené pomocou príkazu INSERT, ako je uvedené nižšie.

>>VLOŽIŤ DO testu(názov)HODNOTY(„Aqsa“),(„Rimsha“),(„Khan“);

Je načase skontrolovať záznamy v tabuľke „Test“. Skúste nižšie uvedenú inštrukciu SELECT v príkazovom shell.

>>VYBERTE*Z testu;

Z nižšie uvedeného výstupu si môžete všimnúť, že id stĺpca do neho automaticky obsahuje niektoré hodnoty, aj keď sme z príkazu INSERT nepridali žiadne hodnoty kvôli typu údajov SERIAL, ktorý sme zadali pre id stĺpca. Takto funguje dátový typ SERIAL samostatne.

Príklad 02:

Ďalším spôsobom, ako skontrolovať hodnotu stĺpca SERIÁLNY typ údajov, je použitie kľúčového slova RETURNING v príkaze INSERT. Nasledujúca deklarácia vytvorí nový riadok v testovacej tabuľke a poskytne hodnotu pre pole id:

>>VLOŽIŤ DO testu(názov)HODNOTY('Hassam')VRATENIEid;

Kontrolou záznamov tabuľky Test pomocou dotazu SELECT sme získali nižšie uvedený výstup zobrazený na obrázku. Piaty záznam bol efektívne pridaný do tabuľky.

>>VYBERTE*Z testu;

Príklad 03:

Alternatívna verzia vyššie uvedeného vkladacieho dotazu používa kľúčové slovo DEFAULT. V príkaze INSERT použijeme názov stĺpca a v sekcii HODNOTY mu dáme ako hodnotu kľúčové slovo DEFAULT. Nasledujúci dotaz bude fungovať rovnako aj pri spustení.

>>VLOŽIŤ DO testu(id, názov)HODNOTY(DEFAULT, „závod“);

Pozrime sa na tabuľku znova pomocou dotazu SELECT nasledovne:

>>VYBERTE*Z testu;

Z nižšie uvedeného výstupu vidíte, že nová hodnota bola pridaná, zatiaľ čo ID stĺpca bolo predvolene zvýšené.

Príklad 04:

Poradové číslo poľa stĺpca SERIAL nájdete v tabuľke v programe PostgreSQL. Na dosiahnutie tohto cieľa sa používa metóda pg_get_serial_sequence (). Spolu s metódou pg_get_serial_sequence () musíme použiť funkciu streamval (). V tomto dotaze poskytneme názov tabuľky a jej názov stĺpca SERIÁL v parametroch funkcie pg_get_serial_sequence (). Ako vidíte, zadali sme test tabuľky a ID stĺpca. Táto metóda sa používa v nižšie uvedenom príklade dotazu:

>>VYBERTE prúd(pg_get_serial_sequence(„Test“, „id'));

Stojí za zmienku, že naša funkcia streamval () nám pomáha extrahovať najnovšiu hodnotu sekvencie, ktorá je 5. Nasledujúci obrázok je ilustráciou toho, ako by výkon mohol vyzerať.

Záver:

V tomto návode sme si ukázali, ako používať SERIÁLNY pseudo typ na automatické prírastky v PostgreSQL. Použitím série v PostgreSQL je jednoduché vytvoriť sadu automaticky zvyšujúcich sa čísel. Našťastie budete môcť pole SERIÁL použiť na popisy tabuliek pomocou našich ilustrácií ako referencie.