Kako napraviti PostgreSQL automatsko povećanje

Kako Napraviti Postgresql Automatsko Povecanje



Jedan od načina da osigurate jedinstvene identitete u svojoj PostgreSQL bazi podataka je korištenje značajke automatskog povećanja. Kada je omogućena, ova značajka generira jedinstveni identitet za svaki novi unos u vašoj tablici. Uz automatsko povećanje, ako pokušate umetnuti novu vrijednost s istim jedinstvenim identifikatorom, pojavit će se pogreška. Automatsko povećanje može se koristiti u različitim slučajevima, a vi možete definirati kako želite da se generira jedinstveni identifikator. Više detalja o PostgreSQL auto-inkrementu detaljno je opisano u ovom postu. Nastavi čitati!

Dvije metode za PostgreSQL automatsko povećanje

Kada stvarate bazu podataka, trebali biste imati primarni ključ za svaku tablicu kako biste bili sigurni da se u tablicama ne pojavljuju duplikati. Jedan od načina stvaranja primarnih ključeva je korištenje značajke automatskog povećanja za tip podataka INT. PostgreSQL generira vrijednost primarnog ključa za sve unose, oslobađajući programera gnjavaže ručnog upisivanja primarnog ključa.

Postoje dva pristupa koja možete koristiti za stvaranje automatskog povećanja u vašoj PostgreSQL bazi podataka.







Metoda 1: Korištenje pseudo-tipa SERIAL

Zadani način stvaranja automatskog povećanja za primarne ključeve u vašoj bazi podataka je korištenje ključne riječi SERIEL. Kada se koristi, pseudotip SERIAL stvara niz za generiranje vrijednosti. Bilježi sljedeću vrijednost u nizu i kad god umetnete novu vrijednost, dodjeljuje joj se jedinstveni identitet.



Imajte na umu da je ovo automatsko povećanje dodijeljeno INT tipu podataka i da se briše nakon što se tablica ili stupac ispuste.



Evo sintakse za stvaranje automatskog povećanja:





STVORITI STOL TABLE_NAME ( id SERIAL data_type ) ;

Za naš slučaj, stvorimo tablicu pod nazivom 'details' koja sadrži 'user_id' kao naš auto-inkrement i primarni ključ. Također uključujemo još dva stupca.



Kada želimo umetnuti vrijednosti u našu tablicu, umećemo samo za druge stupce i izostavljamo stupac s automatskim povećanjem jer se njegove vrijednosti automatski generiraju. Evo primjera u kojem dodajemo pet unosa u našu tablicu:

Kada koristimo naredbu SELECT za provjeru zapisa tablice, primijetite da stupac 'user_id' sadrži jedinstvene identitete koji su, u našem slučaju, brojevi počevši od 1. To je način na koji se radi PostgreSQL auto-inkrement koristeći SERIAL pseudo-tip.

Metoda 2: Stvaranje niza

Kada koristite pseudo-tip SERIAL za stvaranje vrijednosti automatskog povećanja, ne kontrolirate način na koji se stvaraju vaši jedinstveni identiteti. U prethodnom primjeru vidjeli smo da naši jedinstveni identiteti počinju od 1. Međutim, ako želite kontrolirati te vrijednosti, recimo da želite definirati u kojoj će se točki početi generirati, morate stvoriti prilagođeni niz.

PostgreSQL ima opciju SEQUENCE gdje možete odrediti naziv stupca koji će se koristiti za automatsko povećanje i definirati početnu vrijednost za stupac. Na primjer, ako želimo započeti vrijednosti od 100, stvorit ćemo sljedeći prilagođeni niz:

CREATE SEQUENCE column_name start_value;

Nakon stvaranja niza, sada možete izraditi svoju tablicu. Imajte na umu da morate upotrijebiti isti naziv stupca u kojem ste stvorili niz za poput 'nextval('holder')' za stvorenu tablicu. Na taj način PostgreSQL upućuje na sekvencu kako bi znao koji redoslijed treba slijediti prilikom generiranja jedinstvenog identiteta za stupce.

Pokrećemo sljedeću naredbu za kreiranje naše tablice:

Nastavite s umetanjem vrijednosti u stvorenu tablicu za relevantne stupce.

Kada pokrenemo upit 'select' za popis unosa u tablici, možemo vidjeti da smo uspjeli kontrolirati naše automatsko povećanje. Stupac 'user_id' počinje svoju vrijednost od 100 i generira sljedeće vrijednosti za ostale unose koje umećemo u tablicu.

To je drugi način stvaranja automatskog povećanja za PostgreSQL.

Zaključak

Stvaranje automatskog povećanja je korisno za stvaranje jedinstvenosti u vašoj tablici. Kada želite definirati primarni ključ za svoju tablicu, upotrijebite značajku automatskog povećanja za tip podataka INT. PostgreSQL automatski generira vrijednosti, osiguravajući da u vašoj tablici ne postoje duplikati. Definirali smo kako stvoriti automatsko povećanje za PostgreSQL i pružili smo dva primjera dviju metoda koje možete koristiti. Obje su metode primjenjive ovisno o scenariju koji imate. Isprobajte ih!