Kaip atlikti automatinį PostgreSQL padidinimą

Kaip Atlikti Automatini Postgresql Padidinima



Vienas iš būdų užtikrinti unikalias tapatybes jūsų PostgreSQL duomenų bazėje yra automatinio padidinimo funkcija. Kai įjungta, ši funkcija sukuria unikalią tapatybę kiekvienam naujam įrašui jūsų lentelėje. Naudodami automatinį padidinimą, jei bandysite įterpti naują reikšmę su tuo pačiu unikaliu identifikatoriumi, tai sukels klaidą. Automatinis padidinimas gali būti naudojamas įvairiais atvejais ir galite apibrėžti, kaip norite generuoti unikalų identifikatorių. Išsamesnė informacija apie PostgreSQL automatinį padidinimą pateikiama šiame įraše. Skaityk!

Du „PostgreSQL“ automatinio padidinimo metodai

Kurdami duomenų bazę, turėtumėte turėti kiekvienos lentelės pirminį raktą, kad užtikrintumėte, jog lentelėse neatsiras dublikatų. Vienas iš pirminių raktų kūrimo būdų yra INT duomenų tipo automatinio padidinimo funkcija. „PostgreSQL“ sugeneruoja pirminio rakto reikšmę visiems įrašams, išlaisvindama kūrėją nuo vargo rankiniu būdu įvesti pagrindinį.

Yra du būdai, kuriuos galite naudoti norėdami sukurti automatinį padidinimą savo PostgreSQL duomenų bazėje.







1 būdas: SERIAL pseudo-tipo naudojimas

Numatytasis pirminių raktų automatinio padidėjimo kūrimo būdas jūsų duomenų bazėje yra raktažodžio SERIEL naudojimas. Kai naudojamas, SERIAL pseudo-tipas sukuria reikšmių generavimo seką. Ji pažymi kitą sekos reikšmę ir kiekvieną kartą, kai įterpiate naują reikšmę, jai priskiriama unikali tapatybė.



Atkreipkite dėmesį, kad šis automatinis padidinimas priskiriamas INT duomenų tipui ir pašalinamas, kai lentelė arba stulpelis atmetamas.



Štai automatinio padidinimo kūrimo sintaksė:





KURTI LENTELĖ TABLE_NAME ( ID SERIAL data_type ) ;

Mūsų atveju sukurkime lentelę pavadinimu „details“, kurioje yra „user_id“ kaip automatinis padidinimas ir pagrindinis raktas. Taip pat įtraukiame dar du stulpelius.



Kai norime įterpti vertes į lentelę, įterpiame tik kitus stulpelius ir nepaliekame automatinio didinimo stulpelio, nes jo reikšmės generuojamos automatiškai. Štai pavyzdys, kai į lentelę pridedame penkis įrašus:

Kai naudojame sakinį SELECT, kad patikrintume lentelės įrašus, atkreipkite dėmesį, kad stulpelyje „user_id“ yra unikalių tapatybių, kurios, mūsų atveju, yra skaičiai, prasidedantys nuo 1. Štai kaip atlikti automatinį PostgreSQL padidinimą naudojant SERIAL pseudotipą.

2 būdas: sekos kūrimas

Kai naudojate SERIAL pseudo tipą, kad sukurtumėte automatinio didinimo reikšmes, jūs nevaldote, kaip sukuriamos jūsų unikalios tapatybės. Ankstesniame pavyzdyje matėme, kad mūsų unikalios tapatybės prasideda nuo 1. Tačiau, jei norite valdyti šias reikšmes, tarkime, norite apibrėžti, kada pradėti jas generuoti, turite sukurti pasirinktinę seką.

„PostgreSQL“ turi parinktį SEQUENCE, kurioje galite nurodyti stulpelio pavadinimą, kurį naudosite automatiniam padidinimui, ir apibrėžti stulpelio pradžios reikšmę. Pavyzdžiui, jei norime pradėti reikšmes nuo 100, sukuriame šią tinkintą seką:

CREATE SEQUENCE stulpelio_pavadinimas pradžios_vertė;

Sukūrę seką, dabar galite sukurti lentelę. Atminkite, kad sukurtoje lentelėje turite naudoti tą patį stulpelio pavadinimą, kuriame sukūrėte seką, pvz., „nextval(‘holder’)“. Tokiu būdu PostgreSQL nurodo seką, kad žinotų, kokia tvarka vadovautis generuojant unikalią stulpelių tapatybę.

Norėdami sukurti lentelę, paleidžiame šią komandą:

Toliau įterpkite reikšmes į sukurtą atitinkamų stulpelių lentelę.

Kai paleidžiame užklausą „select“, kad pateiktume lentelės įrašus, matome, kad mums pavyko valdyti automatinį padidinimą. Stulpelio „user_id“ reikšmė pradedama nuo 100 ir sugeneruojamos tolesnės vertės kitiems įrašams, kuriuos įterpiame į lentelę.

Tai yra kitas būdas sukurti automatinį PostgreSQL padidinimą.

Išvada

Sukurti automatinį prieaugį naudinga norint sukurti lentelės unikalumą. Jei norite apibrėžti pirminį lentelės raktą, naudokite automatinio padidinimo funkciją INT duomenų tipui. PostgreSQL automatiškai generuoja reikšmes, užtikrindama, kad jūsų lentelėje nebūtų dublikatų. Apibrėžėme, kaip sukurti automatinį PostgreSQL padidinimą, ir pateikėme du dviejų metodų, kuriuos galite naudoti, pavyzdžius. Abu metodai taikomi atsižvelgiant į jūsų turimą scenarijų. Išbandykite juos!