Hogyan állítható be a PostgreSQL automatikus növekményes elsődleges kulcs?

How Setup Postgresql Auto Increment Primary Key



Előfordulhatnak olyan esetek, amikor táblázatokat készít és karbantart a PostgreSQL -ben, amikor meghatározott értékeket szeretne egy kérésre létrehozott oszlophoz. Ez különösen igaz az azonosító oszlopokra, amelyek a táblázat elsődleges kulcsaként működnek. Szerencsére a SERIAL pszeudo-típus lehetővé teszi az automatikusan növekvő egész sorozat kényelmes elkészítését. A sorozat a PostgreSQL adatbázis -objektumainak egy típusa, amely indexek vagy egész számok sorozatát állítja elő. A PostgreSQL szekvencia különböző egész számokat generál, így alkalmas arra, hogy elsődleges kulcsként használják új tábla létrehozásakor. Bemutatjuk, hogy milyen automatikus növekményes menük vannak a PostgreSQL-ben, és a SERIAL pszeudo-típust fogjuk használni ebben az útmutatóban.

Szintaxis:

Az automatikus növekményes elsődleges kulcs létrehozásának általános szintaxisa a következő:







>>TÁBLÁZAT LÉTREHOZÁSA table_name( idSOROZATSZÁM);

Nézzük most részletesebben a CREATE TABLE nyilatkozatot:



  • A PostgreSQL először generál egy sorozat entitást. A sorozat következő értékét állítja elő, és a mező alapértelmezett referenciaértékeként állítja be.
  • A PostgreSQL a N NULL implicit korlátozást alkalmazza egy azonosító mezőre, mivel egy sorozat numerikus értékeket állít elő.
  • Az id mező a sorozat birtokosaként kerül kiosztásra. Ha az azonosító mező vagy maga a táblázat kihagyásra kerül, a sorozat elvetésre kerül.

Az automatikus növelés fogalmának megértéséhez győződjön meg arról, hogy a PostgreSQL fel van szerelve és konfigurálva van a rendszeren, mielőtt folytatná az útmutató illusztrációit. Nyissa meg a PostgreSQL parancssori shell-t az asztalon. Adja hozzá a kiszolgáló nevét, amelyen dolgozni szeretne, különben hagyja alapértelmezettként. Írja be annak a kiszolgálónak az adatbázis nevét, amelyen dolgozni szeretne. Ha nem szeretné megváltoztatni, hagyja alapértelmezettként. A tesztadatbázist fogjuk használni, ezért adtuk hozzá. Az alapértelmezett 5432 -es porton is dolgozhat, de módosíthatja is. Végül meg kell adnia a választott adatbázis felhasználónevét. Hagyja alapértelmezettként, ha nem akarja megváltoztatni. Írja be a jelszót a kiválasztott felhasználónévhez, és nyomja meg az Enter billentyűt a billentyűzetről a parancshéj használatának megkezdéséhez.







SOROS kulcsszó használata adattípusként:

Táblázat létrehozásakor általában nem adjuk hozzá a SOROZAT kulcsszót az elsődleges oszlop mezőbe. Ez azt jelenti, hogy az értékeket hozzá kell adnunk az elsődleges kulcs oszlophoz az INSERT utasítás használata közben. Ha azonban táblázat létrehozásakor a SERIAL kulcsszót használjuk lekérdezésünkben, akkor nem kell hozzáadnunk az elsődleges oszlopértékeket az értékek beszúrása közben. Vessünk egy pillantást rá.

Példa 01:

Hozzon létre egy táblázat teszt két oszlop azonosító és név. Az oszlop azonosítója elsődleges kulcs oszlopként van definiálva, mivel az adattípusa SERIAL. Másrészt az oszlop neve a TEXT NOT NULL adattípus. Próbálja ki az alábbi parancsot egy táblázat létrehozásához, és a táblázat hatékonyan jön létre, amint az az alábbi képen látható.



>>TÁBLÁZAT LÉTREHOZÁSA Teszt( idSOROS ELSŐ KULCS, név SZÖVEG NEM NULL);

Szúrjunk be néhány értéket az újonnan létrehozott TESZT oszlop nevébe. Nem adunk hozzá értéket az oszlop azonosítójához. Láthatja, hogy az értékek sikeresen beillesztésre kerültek az INSERT paranccsal az alábbiak szerint.

>>INSERT INTO Test(név)ÉRTÉKEK('Aqsa'),('Rimsa'),('Kán');

Itt az ideje, hogy ellenőrizze a „Teszt” táblázat rekordjait. Próbálja ki az alábbi SELECT utasítást a parancshéjban.

>>SELECT*FROM tesztből;

Az alábbi kimeneten észreveheti, hogy az oszlop azonosítója automatikusan tartalmaz bizonyos értékeket, annak ellenére, hogy az INSERT parancsból nem adtunk hozzá értékeket az oszlop azonosítójához megadott SERIAL adattípus miatt. A SERIAL adattípus így működik önmagában.

Példa 02:

A SERIAL adattípus oszlop értékének másik módja a RETURNING kulcsszó használata az INSERT parancsban. Az alábbi deklaráció új sort hoz létre a Teszt táblázatban, és megadja az azonosító mező értékét:

>>INSERT INTO Test(név)ÉRTÉKEK('Hassam')VISSZATÉRÉSid;

A SELECT lekérdezés használatával a Teszt táblázat rekordjainak ellenőrzésével az alábbi kimenetet kaptuk, ahogy a képen látható. Az ötödik rekord hatékonyan került a táblázatba.

>>SELECT*FROM tesztből;

Példa 03:

A fenti beszúrás lekérdezés alternatív változata a DEFAULT kulcsszót használja. Az INSERT parancsban az oszlop azonosítóját fogjuk használni, és az ÉRTÉK szakaszban az alapértelmezett kulcsszót adjuk meg értékként. Az alábbi lekérdezés végrehajtáskor ugyanúgy fog működni.

>>INSERT INTO Test(id, név)ÉRTÉKEK(Alapértelmezett, „Verseny”);

Ellenőrizzük újra a táblázatot a SELECT lekérdezés használatával az alábbiak szerint:

>>SELECT*FROM tesztből;

Az alábbi kimeneten látható, hogy az új érték hozzáadásra került, miközben az oszlop azonosítója alapértelmezés szerint nőtt.

Példa 04:

A SOROZAT oszlop mező sorszáma megtalálható a PostgreSQL táblázatában. Ennek eléréséhez a pg_get_serial_sequence () metódust használjuk. A curgval () függvényt a pg_get_serial_sequence () metódussal együtt kell használnunk. Ebben a lekérdezésben megadjuk a tábla nevét és annak SOROZAT oszlopnevét a pg_get_serial_sequence () függvény paramétereiben. Amint láthatja, megadtuk a Teszt táblázatot és az oszlop azonosítóját. Ezt a módszert használják az alábbi lekérdezési példában:

>>Görbe kiválasztása(pg_get_serial_sequence('Teszt', 'id'));

Érdemes megjegyezni, hogy a currval () függvényünk segíti a sorozat legutóbbi értékének kinyerését, amely az 5. Az alábbi kép illusztrálja, hogyan nézhet ki az előadás.

Következtetés:

Ebben az útmutatóban bemutattuk, hogyan kell használni a SERIAL pszeudo-típust az automatikus növeléshez a PostgreSQL-ben. A PostgreSQL sorozat segítségével egyszerűen felépíthető egy automatikusan növekvő számhalmaz. Remélhetőleg alkalmazhatja a SOROZAT mezőt a táblázat leírásaihoz, az illusztrációinkat használva referenciaként.