Kuinka nollata sekvenssi PostgreSQL:ssä

Kuinka Nollata Sekvenssi Postgresql Ssa



PostgreSQL-sekvenssin käyttäminen on tehokas tapa työskennellä automaattisesti kasvavan arvon kanssa, erityisesti ensisijaisille avaimille. Kun aloitusarvoa ei ole määritetty, INT:n automaattinen lisäys alkaa 0:sta. Voit kuitenkin määrittää, mitä aloitusarvoa käytetään sekvenssille automaattisen lisäyksen sarakkeessa.

Lisäksi, jos saat tilanteen, jossa sinun on muutettava sekvenssin seuraavaa arvoa, voit nopeasti nollata sekvenssin ja määrittää, millä arvolla aloitat taulukon seuraavan merkinnän. Kaikki tiedot, jotka sinun pitäisi tietää sekvenssin palauttamisesta PostgreSQL: ssä, on kuvattu tässä viestissä. Katso!

Esimerkki sekvenssin nollaamisesta PostgreSQL:ssä

INT-sarakkeella voit luoda automaattisen lisäyksen sarjan ja käyttää sitä taulukon ensisijaisena avaimena. Tällä tavalla sinun ei tarvitse syöttää sen arvoja suorittaessasi INSERT-kyselyä, koska kokonaislukuarvot luodaan automaattisesti. Kun sarja on luotu, ALTER SEQUENCE -komennolla voit käynnistää sekvenssin uudelleen ja määrittää uuden aloitusarvon uusille merkinnöille.







Tässä esimerkissä työskentelemme seuraavan 'user_details' -taulukon kanssa. Keskitymme 'user_id'-sarakkeeseen, joka on automaattinen lisäyssarja, joka alkaa 100:sta.





Listaa tietokannassasi olevat eri sekvenssit suorittamalla seuraava komento:





\ds

Meidän tapauksessamme kohdistamme 'user_id'-sekvenssiin.



Saat lisätietoja sarjasta suorittamalla 'select'-kyselyn seuraavassa esitetyllä tavalla:

SELECT * FROM sekvenssin_nimi;

Voimme nähdä, että viimeinen arvo olemassa olevassa sarjassa on 104. Nollaamme tämän arvon ja määritämme uuden arvon, joka uusilla merkinnöillä on.

Voit nollata PostgreSQL-sekvenssin käyttämällä seuraavaa komentoa:

ALTER SEQUENCE sekvenssin_nimi ALOITA UUDELLEEN arvolla;

Oletetaan meidän tapauksessamme, että haluamme käynnistää sekvenssin uudelleen ja aloittaa uudet merkinnät 20:sta. Seuraavan komennon suorittamisen jälkeen saamme seuraavassa esitetyn tulosteen, joka vahvistaa, että sekvenssiä on muutettu.

Jos suoritamme aiemman komennon uudelleen saadaksemme sekvenssimme yksityiskohdat SELECT-käskyn avulla, voimme nähdä, että uusi 'last_value' tässä tapauksessa on arvo, jonka määritimme ALTER-komennolla.

Lisätään uusi merkintä taulukkoomme nähdäksesi mitä tapahtuu. Seuraava kuva näyttää INSERT-kyselyn ja tulokset, jotka saamme SELECT-käskyn suorittamisen jälkeen. Huomaa, kuinka uuden merkinnän 'user_id' on asetettu arvoon 20. Kaikkien uusien merkintöjen 'user_id' luodaan perustuen viimeiseen arvoon, joka on 20.

Jos annamme toisen syötteen, sen 'user_id' on 21 ja sekvenssi jatkuu samaa logiikkaa käyttäen. Näin nollaat sekvenssin PostgreSQL:ssä. Huomaa, että 'reset'-komento ei vaikuta olemassa oleviin tietueisiin. Se määrittää vain uuden aloitusarvon syötteille, jotka teet sarjan nollauksen jälkeen.

Johtopäätös

PostgreSQL:n avulla kokonaislukuarvot voidaan luoda automaattisesti ensisijaisen avaimen sarakkeessa yksinkertaistaa asioita. Jos sinulla on olemassa oleva sarja, voit käyttää ALTER SEQUENCE -toimintoa
komento RESTART WITH -vaihtoehdolla määrittääksesi, mikä sekvenssi haluat nollata ja mikä arvo asetetaan sekvenssin viimeiseksi arvoksi. Näin uusien merkintöjen kokonaislukuarvo luodaan uuden viimeisen arvon perusteella. Katso esitetystä esimerkistä ymmärtääksesi, kuinka PostgreSQL-sekvenssin nollaus toimii.