Jak provést automatický přírůstek PostgreSQL

Jak Provest Automaticky Prirustek Postgresql



Jedním ze způsobů, jak zajistit jedinečné identity ve vaší databázi PostgreSQL, je použití funkce automatického přírůstku. Pokud je tato funkce povolena, generuje jedinečnou identitu pro každý nový záznam ve vaší tabulce. Pokud se s automatickým přírůstkem pokusíte vložit novou hodnotu se stejným jedinečným identifikátorem, dojde k chybě. Auto-inkrement lze použít v různých případech a můžete definovat, jak chcete, aby byl jedinečný identifikátor generován. Další podrobnosti o automatickém přírůstku PostgreSQL jsou podrobně uvedeny v tomto příspěvku. Číst dál!

Dvě metody pro automatické zvýšení PostgreSQL

Při vytváření databáze byste měli mít pro každou tabulku primární klíč, abyste zajistili, že se v tabulkách neobjeví žádné duplikáty. Jedním ze způsobů vytvoření primárních klíčů je použití funkce automatického přírůstku pro datový typ INT. PostgreSQL generuje hodnotu primárního klíče pro všechny položky, což vývojáře zbavuje starostí s ručním psaním primárního klíče.

Existují dva přístupy, které můžete použít k vytvoření automatického přírůstku v databázi PostgreSQL.







Metoda 1: Použití SERIAL Pseudo-Type

Výchozím způsobem vytváření automatického přírůstku pro primární klíče ve vaší databázi je použití klíčového slova SERIEL. Při použití pseudotyp SERIAL vytvoří sekvenci pro generování hodnot. Zaznamenává další hodnotu v posloupnosti a kdykoli vložíte novou hodnotu, je jí přiřazena jedinečná identita.



Všimněte si, že tento automatický přírůstek je přiřazen k datovému typu INT a bude odstraněn, jakmile se tabulka nebo sloupec zruší.



Zde je syntaxe pro vytvoření automatického přírůstku:





VYTVOŘIT STŮL TABLE_NAME ( id SERIAL datový_typ ) ;

Pro náš případ vytvořte tabulku s názvem „detaily“, která obsahuje „user_id“ jako náš automatický přírůstek a primární klíč. Zahrnujeme také dva další sloupce.



Když chceme vložit hodnoty do naší tabulky, vložíme pouze pro ostatní sloupce a vynecháme sloupec automatického přírůstku, protože jeho hodnoty se generují automaticky. Zde je příklad, kdy do naší tabulky přidáme pět položek:

Když ke kontrole záznamů tabulky použijeme příkaz SELECT, všimněte si, že sloupec „user_id“ obsahuje jedinečné identity, což jsou v našem případě čísla začínající od 1. Takto lze provést automatický přírůstek PostgreSQL pomocí pseudotypu SERIAL.

Metoda 2: Vytvoření sekvence

Když k vytvoření hodnot automatického přírůstku použijete pseudotyp SERIAL, neřídíte, jak se vytvoří vaše jedinečné identity. V předchozím příkladu jsme viděli, že naše jedinečné identity začínají od 1. Pokud však chcete tyto hodnoty ovládat, řekněme, že chcete definovat, kdy je začít generovat, musíte vytvořit vlastní sekvenci.

PostgreSQL má volbu SEQUENCE, kde můžete zadat název sloupce, který se má použít pro automatický přírůstek, a definovat počáteční hodnotu sloupce. Pokud například chceme začít hodnoty od 100, vytvoříme následující vlastní sekvenci:

CREATE SEQUENCE název_sloupce počáteční_hodnota;

Po vytvoření sekvence nyní můžete vytvořit svou tabulku. Všimněte si, že musíte použít stejný název sloupce, pro který jste vytvořili sekvenci, jako je „nextval(‘holder’)“ pro vytvořenou tabulku. Tímto způsobem PostgreSQL odkazuje na sekvenci, aby věděl, jaké pořadí má následovat při generování jedinečné identity pro sloupce.

Spustíme následující příkaz k vytvoření naší tabulky:

Pokračujte vkládáním hodnot do vytvořené tabulky pro příslušné sloupce.

Když spustíme „výběrový“ dotaz pro výpis položek tabulky, můžeme vidět, že se nám podařilo řídit náš automatický přírůstek. Sloupec „user_id“ začíná svou hodnotou na 100 a generuje následné hodnoty pro další položky, které vkládáme do tabulky.

To je další způsob, jak vytvořit automatický přírůstek pro PostgreSQL.

Závěr

Vytvoření automatického přírůstku je výhodné pro vytvoření jedinečnosti ve vaší tabulce. Chcete-li pro svou tabulku definovat primární klíč, použijte funkci automatického zvýšení pro datový typ INT. PostgreSQL generuje hodnoty automaticky a zajišťuje, že ve vaší tabulce neexistují žádné duplikáty. Definovali jsme, jak vytvořit automatický přírůstek pro PostgreSQL, a poskytli dva příklady dvou metod, které můžete použít. Obě metody jsou použitelné v závislosti na scénáři, který máte. Vyzkoušejte je!