Kako ponastaviti zaporedje v PostgreSQL

Kako Ponastaviti Zaporedje V Postgresql



Uporaba zaporedja PostgreSQL je učinkovit način dela z vrednostjo samodejnega povečanja, zlasti za primarne ključe. Če začetna vrednost ni definirana, se bo samodejno povečevanje za INT začelo pri 0. Vendar pa lahko podate, katero začetno vrednost naj uporabite za zaporedje v vašem stolpcu samodejnega prirastka.

Poleg tega, če naletite na situacijo, ki zahteva, da spremenite naslednjo vrednost v zaporedju, lahko hitro ponastavite zaporedje in določite, s katero vrednostjo naj začnete za naslednji vnos v tabeli. Vse podrobnosti, ki bi jih morali vedeti o tem, kako ponastaviti zaporedje v PostgreSQL, so podrobno opisane v tej objavi. Poglej!

Primer, kako ponastaviti zaporedje v PostgreSQL

S stolpcem INT lahko ustvarite zaporedje samodejnega povečanja in ga uporabite kot primarni ključ za svojo tabelo. Na ta način vam ne bo treba vnašati njegovih vrednosti, ko izvajate poizvedbo INSERT, saj bodo celoštevilske vrednosti ustvarjene samodejno. Ko je zaporedje ustvarjeno, lahko ukaz ALTER SEQUENCE znova zaženete zaporedje in podate novo začetno vrednost za nove vnose.







V tem primeru bomo delali z naslednjo tabelo »user_details«. Naš fokus je stolpec »user_id«, ki je zaporedje s samodejnim povečevanjem, ki se začne pri 100.





Za seznam različnih sekvenc v vaši bazi podatkov zaženite naslednji ukaz:





\ds

V našem primeru ciljamo na zaporedje »user_id«.



Če želite pridobiti več podrobnosti o zaporedju, zaženite poizvedbo »select«, kot je prikazano v naslednjem:

SELECT * FROM zaporedje_name;

Vidimo, da je zadnja vrednost v obstoječem zaporedju 104. To vrednost ponastavimo in določimo novo vrednost, ki jo bodo imeli novi vnosi.

Če želite ponastaviti zaporedje PostgreSQL, uporabite naslednji ukaz:

ALTER SEQUENCE sekvenca_name RESTART WITH vrednost;

Za naš primer recimo, da želimo znova zagnati zaporedje in začeti nove vnose pri 20. Po zagonu naslednjega ukaza dobimo izhod, kot je prikazano v nadaljevanju, ki potrjuje, da je bilo zaporedje spremenjeno.

Če znova zaženemo prejšnji ukaz, da pridobimo podrobnosti našega zaporedja z uporabo stavka SELECT, lahko vidimo, da je nova »last_value« za ta primer vrednost, ki smo jo podali z ukazom ALTER.

V našo tabelo vstavimo nov vnos, da vidimo, kaj se zgodi. Naslednja slika prikazuje poizvedbo INSERT in rezultate, ki jih dobimo po zagonu stavka SELECT. Opazite, da ima novi vnos svoj »user_id« nastavljen na 20. Vsi novi vnosi, ki jih naredimo, bodo imeli svoj »user_id« ustvarjen na podlagi zadnje vrednosti, ki je 20.

Če naredimo še en vnos, bo njegov »user_id« 21 in zaporedje se bo nadaljevalo po isti logiki. Tako ponastavite zaporedje v PostgreSQL. Upoštevajte, da ukaz »reset« ne vpliva na obstoječe zapise. Določa le novo začetno vrednost za vnose, ki jih naredite po ponastavitvi zaporedja.

Zaključek

S PostgreSQL možnost samodejnega generiranja celoštevilskih vrednosti v vašem stolpcu primarnega ključa stvari poenostavlja. Ko imate obstoječe zaporedje, lahko uporabite ALTER SEQUENCE
z možnostjo RESTART WITH, da določite, katero zaporedje želite ponastaviti in katero vrednost nastaviti kot zadnjo vrednost v zaporedju. Tako bodo novi vnosi imeli celoštevilsko vrednost, ustvarjeno na podlagi nove zadnje vrednosti. Glejte predstavljeni primer, če želite razumeti, kako deluje ponastavitev zaporedja PostgreSQL.