Cum să faceți creșterea automată PostgreSQL

Cum Sa Faceti Cresterea Automata Postgresql



O modalitate de a vă asigura identitățile unice din baza dvs. de date PostgreSQL este utilizarea funcției de incrementare automată. Când este activată, această caracteristică generează o identitate unică pentru fiecare intrare nouă din tabelul dvs. Cu auto-incrementare, dacă încercați să inserați o nouă valoare cu același identificator unic, va genera o eroare. Incrementarea automată poate fi utilizată în diferite cazuri și puteți defini modul în care doriți să fie generat identificatorul unic. Mai multe detalii despre auto-incrementul PostgreSQL sunt detaliate în această postare. Citește mai departe!

Două metode pentru creșterea automată PostgreSQL

Când creați o bază de date, ar trebui să aveți o cheie primară pentru fiecare tabel, pentru a vă asigura că nu apar duplicate în tabele. O modalitate de a crea cheile primare este utilizarea caracteristicii de auto-incrementare pentru tipul de date INT. PostgreSQL generează valoarea cheii primare pentru toate intrările, eliberând dezvoltatorul de necazul de a introduce manual cheia principală.

Există două abordări pe care le puteți utiliza pentru a crea auto-incrementare în baza de date PostgreSQL.







Metoda 1: Utilizarea Pseudo-Tipului SERIAL

Modul implicit de a crea auto-incrementare pentru cheile primare din baza de date este utilizarea cuvântului cheie SERIEL. Când este utilizat, pseudo-tipul SERIAL creează o secvență pentru a genera valorile. Notează următoarea valoare din secvență și, de fiecare dată când inserați o nouă valoare, i se atribuie o identitate unică.



Rețineți că această incrementare automată este atribuită unui tip de date INT și este ștearsă odată ce tabelul sau coloana sunt abandonate.



Iată sintaxa pentru crearea unei incrementari automate:





CREA MASA TABLE_NAME ( id SERIAL data_type ) ;

Pentru cazul nostru, să creăm un tabel numit „detalii” care conține „user_id” ca auto-increment și cheie primară. Includem și alte două coloane.



Când dorim să inserăm valorile în tabelul nostru, inserăm doar pentru celelalte coloane și omitem coloana de auto-increment, deoarece valorile acesteia sunt generate automat. Iată un exemplu în care adăugăm cinci intrări în tabelul nostru:

Când folosim instrucțiunea SELECT pentru a verifica înregistrările tabelului, observați că coloana „user_id” conține identități unice care, în cazul nostru, sunt numere care încep de la 1. Așa se face auto-incrementarea PostgreSQL folosind pseudo-tipul SERIAL.

Metoda 2: Crearea unei secvențe

Când utilizați pseudo-tipul SERIAL pentru a crea valorile de auto-incrementare, nu controlați modul în care identitățile voastre unice sunt create. Pentru exemplul anterior, am văzut că identitățile noastre unice pornesc de la 1. Cu toate acestea, dacă doriți să controlați aceste valori, să presupunem că doriți să definiți în ce moment să începeți să le generați, trebuie să creați o secvență personalizată.

PostgreSQL are opțiunea SEQUENCE unde puteți specifica numele coloanei de utilizat pentru incrementarea automată și puteți defini valoarea de pornire pentru coloană. De exemplu, dacă dorim să începem valorile de la 100, creăm următoarea secvență personalizată:

CREATE SEQUENCE nume_coloană valoare_începută;

După crearea secvenței, acum vă puteți crea tabelul. Rețineți că trebuie să utilizați același nume de coloană în care ați creat o secvență pentru „nextval(‘holder’)” pentru tabelul creat. În acest fel, PostgreSQL face referire la secvență pentru a ști ce ordine să urmeze atunci când se generează identitatea unică pentru coloane.

Executăm următoarea comandă pentru a crea tabelul nostru:

Continuați să introduceți valorile în tabelul creat pentru coloanele relevante.

Când rulăm interogarea „selectare” pentru a lista intrările din tabel, putem vedea că am reușit să ne controlăm auto-incrementarea. Coloana „user_id” își începe valoarea de la 100 și generează valorile ulterioare pentru celelalte intrări pe care le introducem în tabel.

Acesta este celălalt mod de a crea incrementarea automată pentru PostgreSQL.

Concluzie

Crearea unei creșteri automate este benefică pentru crearea unicității în tabelul dvs. Când doriți să definiți o cheie primară pentru tabelul dvs., utilizați caracteristica de auto-incrementare pentru tipul de date INT. PostgreSQL generează valorile automat, asigurându-se că nu există duplicate în tabelul dumneavoastră. Am definit cum să creați incrementarea automată pentru PostgreSQL și am oferit două exemple ale celor două metode pe care le puteți utiliza. Ambele metode sunt aplicabile în funcție de scenariul pe care îl aveți. Încercați-le!