Jak wykonać automatyczną inkrementację PostgreSQL

Jak Wykonac Automatyczna Inkrementacje Postgresql



Jednym ze sposobów zapewnienia unikalnych tożsamości w bazie danych PostgreSQL jest użycie funkcji automatycznego zwiększania. Po włączeniu ta funkcja generuje unikalną tożsamość dla każdego nowego wpisu w tabeli. W przypadku automatycznego zwiększania, jeśli spróbujesz wstawić nową wartość z tym samym unikalnym identyfikatorem, zgłosi to błąd. Automatycznego zwiększania można używać w różnych przypadkach i można zdefiniować sposób generowania unikalnego identyfikatora. Więcej szczegółów na temat automatycznego przyrostu PostgreSQL opisano w tym poście. Czytaj!

Dwie metody automatycznego przyrostu PostgreSQL

Tworząc bazę danych, powinieneś mieć klucz podstawowy dla każdej tabeli, aby mieć pewność, że w tabelach nie pojawią się duplikaty. Jednym ze sposobów tworzenia kluczy podstawowych jest użycie funkcji automatycznego przyrostu dla typu danych INT. PostgreSQL generuje wartość klucza podstawowego dla wszystkich wpisów, uwalniając programistę od konieczności ręcznego wpisywania klucza podstawowego.

Istnieją dwa podejścia do tworzenia automatycznego przyrostu w bazie danych PostgreSQL.







Metoda 1: Używanie pseudotypu SERIAL

Domyślnym sposobem tworzenia automatycznego przyrostu kluczy podstawowych w bazie danych jest użycie słowa kluczowego SERIEL. W przypadku użycia pseudotypu SERIAL tworzy sekwencję generującą wartości. Zapamiętuje następną wartość w sekwencji i za każdym razem, gdy wstawisz nową wartość, zostanie jej przypisana unikalna tożsamość.



Należy pamiętać, że ten automatyczny przyrost jest przypisany do typu danych INT i zostaje usunięty po usunięciu tabeli lub kolumny.



Oto składnia tworzenia automatycznego przyrostu:





TWORZYĆ TABELA NAZWA TABELI ( id SERIAL typ_danych ) ;

W naszym przypadku utwórzmy tabelę o nazwie „details”, która zawiera „user_id” jako nasz klucz podstawowy i autoinkrementację. Uwzględniamy także dwie inne kolumny.



Kiedy chcemy wstawić wartości do naszej tabeli, wstawiamy tylko dla innych kolumn i pomijamy kolumnę automatycznego zwiększania, ponieważ jej wartości są generowane automatycznie. Oto przykład, w którym dodajemy pięć wpisów do naszej tabeli:

Kiedy używamy instrukcji SELECT do sprawdzania rekordów tabeli, zwróćmy uwagę, że kolumna „user_id” zawiera unikalne tożsamości, które w naszym przypadku są liczbami zaczynającymi się od 1. Oto jak wykonać autoinkrementację PostgreSQL przy użyciu pseudotypu SERIAL.

Metoda 2: Tworzenie sekwencji

Kiedy używasz pseudotypu SERIAL do tworzenia wartości automatycznego zwiększania, nie masz kontroli nad sposobem tworzenia unikalnych tożsamości. W poprzednim przykładzie widzieliśmy, że nasze unikalne tożsamości zaczynają się od 1. Jeśli jednak chcesz kontrolować te wartości, powiedzmy, że chcesz określić, w którym momencie zacząć je generować, musisz utworzyć niestandardową sekwencję.

PostgreSQL ma opcję SEQUENCE, w której możesz określić nazwę kolumny, która będzie używana do automatycznego zwiększania i zdefiniować wartość początkową kolumny. Na przykład, jeśli chcemy zacząć wartości od 100, tworzymy następującą sekwencję niestandardową:

UTWÓRZ SEKWENCJĘ nazwa_kolumny wartość_początkowa;

Po utworzeniu sekwencji możesz teraz stworzyć swój stół. Pamiętaj, że musisz użyć tej samej nazwy kolumny, w której utworzyłeś sekwencję, na przykład „nextval(‚uchwyt”)” dla utworzonej tabeli. W ten sposób PostgreSQL odwołuje się do sekwencji, aby wiedzieć, jaką kolejność należy zastosować podczas generowania unikalnej tożsamości kolumn.

Uruchamiamy następujące polecenie, aby utworzyć naszą tabelę:

Kontynuuj wstawianie wartości do utworzonej tabeli dla odpowiednich kolumn.

Kiedy uruchomimy zapytanie „select”, aby wyświetlić listę wpisów w tabeli, możemy zobaczyć, że udało nam się kontrolować nasz automatyczny przyrost. Kolumna „user_id” zaczyna swoją wartość od 100 i generuje kolejne wartości dla pozostałych wpisów, które wstawiamy do tabeli.

To drugi sposób tworzenia automatycznego przyrostu dla PostgreSQL.

Wniosek

Utworzenie automatycznego przyrostu jest korzystne dla stworzenia wyjątkowości w tabeli. Jeśli chcesz zdefiniować klucz podstawowy dla swojej tabeli, użyj funkcji automatycznego zwiększania dla typu danych INT. PostgreSQL generuje wartości automatycznie, upewniając się, że w Twojej tabeli nie ma duplikatów. Zdefiniowaliśmy sposób tworzenia automatycznego przyrostu dla PostgreSQL i podaliśmy dwa przykłady dwóch metod, których możesz użyć. Obie metody mają zastosowanie w zależności od posiadanego scenariusza. Wypróbuj je!