Kuidas teha PostgreSQL-i automaatset suurendamist

Kuidas Teha Postgresql I Automaatset Suurendamist



Üks võimalus PostgreSQL-i andmebaasis ainulaadsete identiteetide tagamiseks on automaatse suurendamise funktsiooni kasutamine. Kui see on lubatud, loob see funktsioon iga uue tabeli kirje jaoks kordumatu identiteedi. Kui proovite automaatse suurendamise korral sisestada uut väärtust sama kordumatu identifikaatoriga, tekitab see veateate. Automaatset suurendamist saab kasutada erinevatel juhtudel ja saate määrata, kuidas soovite unikaalset identifikaatorit luua. Lisateavet PostgreSQL-i automaatse suurendamise kohta leiate selles postituses. Loe edasi!

Kaks meetodit PostgreSQL-i automaatseks suurendamiseks

Andmebaasi loomisel peaks teil olema iga tabeli primaarvõti, et tabelitesse ei ilmuks duplikaate. Üks viis primaarvõtmete loomiseks on INT andmetüübi automaatse suurendamise funktsiooni kasutamine. PostgreSQL genereerib kõigi kirjete jaoks esmase võtme väärtuse, vabastades arendaja esmase võtme käsitsi sisestamise vaevast.

PostgreSQL-i andmebaasis automaatse juurdekasvu loomiseks saate kasutada kahte lähenemisviisi.







1. meetod: SERIAL-pseudotüübi kasutamine

Primaarvõtmete automaatse suurendamise loomiseks teie andmebaasis on vaikimisi märksõna SERIEL kasutamine. Kui seda kasutatakse, loob SERIAL pseudotüüp väärtuste genereerimiseks jada. See märgib jada järgmise väärtuse ja iga kord, kui sisestate uue väärtuse, määratakse sellele kordumatu identiteet.



Pange tähele, et see automaatne juurdekasv on määratud andmetüübile INT ja see kustutatakse pärast tabeli või veeru eemaldamist.



Siin on süntaks automaatse juurdekasvu loomiseks:





LOO TABEL TABLE_NAME ( id SERIAL andmetüüp ) ;

Meie puhul loome tabeli nimega 'detailid', mis sisaldab meie automaatse suurendamise ja primaarvõtmena 'user_id'. Lisame ka kaks muud veergu.



Kui tahame väärtusi tabelisse lisada, sisestame ainult teiste veergude jaoks ja jätame automaatse suurendamise veeru välja, kuna selle väärtused genereeritakse automaatselt. Siin on näide, kus lisame oma tabelisse viis kirjet:

Kui kasutame tabelikirjete kontrollimiseks käsku SELECT, pange tähele, et veerg „user_id” sisaldab unikaalseid identiteete, mis meie puhul on arvud, mis algavad 1-st. Nii saab teha PostgreSQL-i automaatset suurendamist, kasutades pseudotüüpi SERIAL.

2. meetod: järjestuse loomine

Kui kasutate automaatse juurdekasvu väärtuste loomiseks pseudotüüpi SERIAL, ei saa te kontrollida, kuidas teie kordumatuid identiteete luuakse. Eelmise näite puhul nägime, et meie unikaalsed identiteedid algavad 1-st. Kui aga soovite neid väärtusi juhtida, oletame, et soovite määratleda, millal nende genereerimist alustada, peate looma kohandatud jada.

PostgreSQL-il on suvand SEQUENCE, kus saate määrata automaatse suurendamise jaoks kasutatava veeru nime ja määrata veeru algusväärtuse. Näiteks kui tahame väärtusi alustada 100-st, loome järgmise kohandatud jada:

CREATE SEQUENCE veeru_nimi algusväärtus;

Pärast järjestuse loomist saate nüüd luua oma tabeli. Pange tähele, et peate kasutama loodud tabeli jaoks sama veeru nime, mille jaoks lõite jada, näiteks 'nextval('holder')'. Nii viitab PostgreSQL järjestusele, et teada saada, millist järjekorda veergude kordumatu identiteedi genereerimisel järgida.

Tabeli loomiseks käivitame järgmise käsu:

Jätkake vastavate veergude väärtuste sisestamist loodud tabelisse.

Kui käivitame tabelikirjete loetlemiseks päringu „select”, näeme, et meil õnnestus oma automaatset suurendamist juhtida. Veeru „user_id” väärtus algab 100-st ja genereerib järgnevad väärtused teistele tabelisse sisestatavatele kirjetele.

See on teine ​​viis PostgreSQL-i automaatse juurdekasvu loomiseks.

Järeldus

Automaatse juurdekasvu loomine on kasulik teie tabelis ainulaadsuse loomiseks. Kui soovite oma tabeli jaoks määrata primaarvõtme, kasutage andmetüübi INT jaoks automaatse suurendamise funktsiooni. PostgreSQL genereerib väärtused automaatselt, tagades, et teie tabelis pole duplikaate. Määratlesime, kuidas luua PostgreSQL-i automaatset juurdekasvu, ja esitasime kaks näidet kahest kasutatavast meetodist. Mõlemad meetodid on rakendatavad olenevalt teie stsenaariumist. Proovige neid!