it-swarm.dev

Jak określić, że kolumna powinna być automatycznie zwiększana w pgAdmin?

Zacząłem uczyć się pgAdmin III do zarządzania bazą danych PostgreSQL. Ale nie była to łatwa w użyciu aplikacja.

Jeśli utworzę lub utworzyłem tabelę przy pomocy pgAdmin III, jak mogę dodać funkcję „automatycznego zwiększania” do identyfikatora kolumny o typie całkowitym?

15
Jonas

dwie opcje: Użyj „typu danych” SERIAL lub utwórz sekwencję i użyj tej sekwencji jako wartości domyślnej dla liczby całkowitej:

CREATE SEQUENCE your_seq;
CREATE TABLE foo(
  id int default nextval('your_seq'::regclass),
  other_column TEXT
);
INSERT INTO foo(other_column) VALUES ('bar') RETURNING *;
17
Frank Heikens

Jeśli chcesz to zrobić w PGAdmin, jest to o wiele łatwiejsze niż użycie wiersza poleceń. Wydaje się, że w PostgreSQL, aby dodać automatyczny przyrost do kolumny, najpierw musimy utworzyć sekwencję automatycznego przyrostu i dodać ją do wymaganej kolumny. Podobało mi się.

1) Najpierw musisz upewnić się, że jest klucz podstawowy do twojego stołu. Zachowaj także typ danych klucza podstawowego w bigint lub smallint. (Użyłem biginta, nie mogłem znaleźć typu danych o nazwie serial, jak wspomniano w innych odpowiedziach gdzie indziej)

2) Następnie dodaj sekwencję, klikając prawym przyciskiem myszy sekwencję-> dodaj nową sekwencję . Jeśli w tabeli nie ma danych, pozostaw tę sekwencję bez zmian, nie wprowadzaj żadnych zmian. Po prostu to zapisz. Jeśli istnieją dane, dodaj ostatnią lub najwyższą wartość w kolumnie klucza podstawowego do bieżącej wartości w zakładce Definicje, jak pokazano poniżej. enter image description here

3) Na koniec dodaj wiersz nextval('your_sequence_name'::regclass) do wartości domyślnej w kluczu podstawowym, jak pokazano poniżej.

enter image description here Upewnij się, że nazwa sekwencji jest tutaj poprawna. To wszystko i automatyczny przyrost powinien działać.

15
toing_toing