Ako urobiť automatické zvýšenie PostgreSQL

Ako Urobit Automaticke Zvysenie Postgresql



Jedným zo spôsobov, ako zabezpečiť jedinečné identity vo vašej databáze PostgreSQL, je použitie funkcie automatického zvýšenia. Keď je táto funkcia povolená, generuje jedinečnú identitu pre každú novú položku vo vašej tabuľke. Ak sa pri automatickom prírastku pokúsite vložiť novú hodnotu s rovnakým jedinečným identifikátorom, vyvolá to chybu. Auto-inkrement možno použiť v rôznych prípadoch a môžete definovať, ako chcete, aby sa generoval jedinečný identifikátor. Ďalšie podrobnosti o automatickom prírastku PostgreSQL sú uvedené v tomto príspevku. Pokračuj v čítaní!

Dve metódy automatického zvýšenia PostgreSQL

Pri vytváraní databázy by ste mali mať primárny kľúč pre každú tabuľku, aby ste zabezpečili, že sa v tabuľkách neobjavia žiadne duplikáty. Jedným zo spôsobov vytvorenia primárnych kľúčov je použitie funkcie automatického prírastku pre typ údajov INT. PostgreSQL generuje hodnotu primárneho kľúča pre všetky položky, čím oslobodzuje vývojára od problémov s manuálnym zadávaním primárneho kľúča.

Existujú dva prístupy, ktoré môžete použiť na vytvorenie automatického prírastku vo vašej databáze PostgreSQL.







Metóda 1: Použitie SERIAL Pseudo-Type

Predvolený spôsob vytvárania automatického prírastku pre primárne kľúče vo vašej databáze je pomocou kľúčového slova SERIEL. Pri použití pseudotyp SERIAL vytvorí sekvenciu na generovanie hodnôt. Zaznamená ďalšiu hodnotu v poradí a vždy, keď vložíte novú hodnotu, priradí sa jej jedinečná identita.



Všimnite si, že tento automatický prírastok je priradený k typu údajov INT a vymaže sa, keď sa tabuľka alebo stĺpec zruší.



Tu je syntax na vytvorenie automatického prírastku:





VYTVORIŤ TABLE TABLE_NAME ( id SERIAL data_type ) ;

Pre náš prípad vytvorte tabuľku s názvom „detaily“, ktorá obsahuje „user_id“ ako náš automatický prírastok a primárny kľúč. Zahŕňame aj ďalšie dva stĺpce.



Keď chceme vložiť hodnoty do našej tabuľky, vložíme iba pre ostatné stĺpce a vynecháme stĺpec s automatickým prírastkom, pretože jeho hodnoty sa generujú automaticky. Tu je príklad, keď do našej tabuľky pridáme päť položiek:

Keď použijeme príkaz SELECT na kontrolu záznamov tabuľky, všimnite si, že stĺpec „user_id“ obsahuje jedinečné identity, ktoré sú v našom prípade číslami začínajúcimi od 1. Takto sa vykoná automatický prírastok PostgreSQL pomocou pseudotypu SERIAL.

Metóda 2: Vytvorenie sekvencie

Keď na vytvorenie hodnôt automatického prírastku použijete pseudotyp SERIAL, nemáte kontrolu nad tým, ako sa vytvoria vaše jedinečné identity. V predchádzajúcom príklade sme videli, že naše jedinečné identity začínajú od 1. Ak však chcete tieto hodnoty ovládať, povedzme, že chcete definovať, v ktorom bode ich začať generovať, musíte vytvoriť vlastnú sekvenciu.

PostgreSQL má možnosť SEQUENCE, kde môžete zadať názov stĺpca, ktorý sa má použiť na automatické zvýšenie, a definovať počiatočnú hodnotu stĺpca. Napríklad, ak chceme začať s hodnotami od 100, vytvoríme nasledujúcu vlastnú sekvenciu:

CREATE SEQUENCE názov_stĺpca počiatočná_hodnota;

Po vytvorení sekvencie môžete teraz vytvoriť tabuľku. Všimnite si, že musíte použiť rovnaký názov stĺpca, v ktorom ste vytvorili sekvenciu, ako napríklad „nextval(‘holder’)“ pre vytvorenú tabuľku. Týmto spôsobom PostgreSQL odkazuje na sekvenciu, aby vedel, aké poradie treba dodržiavať pri generovaní jedinečnej identity pre stĺpce.

Na vytvorenie tabuľky spustíme nasledujúci príkaz:

Pokračujte vložením hodnôt do vytvorenej tabuľky pre príslušné stĺpce.

Keď spustíme dotaz „vybrať“ na zoznam položiek tabuľky, môžeme vidieť, že sa nám podarilo ovládať naše automatické zvyšovanie. Stĺpec „user_id“ začína svoju hodnotu na 100 a generuje následné hodnoty pre ostatné položky, ktoré vložíme do tabuľky.

To je ďalší spôsob vytvárania automatického prírastku pre PostgreSQL.

Záver

Vytvorenie automatického prírastku je výhodné na vytvorenie jedinečnosti vo vašej tabuľke. Keď chcete definovať primárny kľúč pre vašu tabuľku, použite funkciu automatického zvýšenia pre typ údajov INT. PostgreSQL generuje hodnoty automaticky, čím zaisťuje, že vo vašej tabuľke neexistujú žiadne duplikáty. Definovali sme, ako vytvoriť automatický prírastok pre PostgreSQL, a poskytli sme dva príklady dvoch metód, ktoré môžete použiť. Obe metódy sú použiteľné v závislosti od scenára, ktorý máte. Vyskúšajte ich!