Kako resetirati sekvencu u PostgreSQL-u

Kako Resetirati Sekvencu U Postgresql U



Korištenje PostgreSQL sekvence učinkovit je način rada s vrijednošću automatskog povećanja, posebno za primarne ključeve. Kada početna vrijednost nije definirana, auto-inkrement za INT počet će od 0. Međutim, možete navesti koju ćete početnu vrijednost koristiti za niz u svom stupcu s auto-inkrementom.

Štoviše, ako dobijete situaciju koja od vas zahtijeva da promijenite sljedeću vrijednost u nizu, možete brzo poništiti niz i odrediti s kojom vrijednošću započeti za sljedeći unos u tablici. Svi detalji koje biste trebali znati o tome kako poništiti niz u PostgreSQL-u detaljno su navedeni u ovom postu. Pogledaj!

Primjer o tome kako poništiti niz u PostgreSQL-u

S INT stupcem možete stvoriti slijed s automatskim povećanjem i koristiti ga kao primarni ključ za svoju tablicu. Na taj način nećete morati unositi njegove vrijednosti prilikom pokretanja INSERT upita jer će se cjelobrojne vrijednosti generirati automatski. Kada je niz kreiran, naredba ALTER SEQUENCE omogućuje ponovno pokretanje niza i specificiranje nove početne vrijednosti za nove unose.







Za ovaj primjer, radit ćemo sa sljedećom tablicom 'user_details'. Naš fokus je stupac 'user_id' koji je niz koji se automatski povećava počevši od 100.





Za popis različitih sekvenci u vašoj bazi podataka, pokrenite sljedeću naredbu:





\ds

Za naš slučaj, ciljamo niz 'user_id'.



Da biste dobili više pojedinosti o nizu, pokrenite upit 'select' kao što je prikazano u nastavku:

SELECT * FROM slijed_name;

Vidimo da je zadnja vrijednost u postojećem nizu 104. Ponovno postavljamo ovu vrijednost i definiramo novu vrijednost koju će imati novi unosi.

Za resetiranje PostgreSQL sekvence upotrijebite sljedeću naredbu:

ALTER SEQUENCE slijed_name RESTART WITH vrijednost;

Za naš slučaj, recimo da želimo ponovno pokrenuti niz i započeti nove unose na 20. Nakon pokretanja sljedeće naredbe, dobivamo izlaz, kao što je prikazano u nastavku, koji potvrđuje da je niz izmijenjen.

Ako ponovno pokrenemo prethodnu naredbu da dobijemo pojedinosti našeg niza pomoću naredbe SELECT, možemo vidjeti da je nova 'last_value' za ovaj slučaj vrijednost koju smo naveli s naredbom ALTER.

Umetnimo novi unos u našu tablicu da vidimo što će se dogoditi. Sljedeća slika prikazuje INSERT upit i rezultate koje dobivamo nakon pokretanja naredbe SELECT. Primijetite kako novi unos ima svoj 'user_id' postavljen na 20. Svi novi unosi koje napravimo imat će svoj 'user_id' generiran na temelju posljednje vrijednosti koja je 20.

Ako napravimo još jedan unos, njegov 'user_id' bit će 21 i niz će se nastaviti koristeći istu logiku. Tako poništavate niz u PostgreSQL-u. Imajte na umu da naredba 'reset' ne utječe na postojeće zapise. Definira samo novu početnu vrijednost za unose koje napravite nakon ponovnog postavljanja niza.

Zaključak

Uz PostgreSQL, mogućnost automatskog generiranja cjelobrojnih vrijednosti u vašem stupcu primarnog ključa pojednostavljuje stvari. Kada imate postojeći niz, možete koristiti ALTER SEQUENCE
naredba s opcijom RESTART WITH za određivanje slijeda koji želite resetirati i koju vrijednost postaviti kao posljednju vrijednost u nizu. Na taj će način novi unosi imati cjelobrojnu vrijednost generiranu na temelju nove posljednje vrijednosti. Pogledajte predstavljeni primjer da biste razumjeli kako funkcionira resetiranje PostgreSQL sekvence.