Odpowiedzi:
dwie opcje: Użyj „typ 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 *;
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.
3) Na koniec dodaj linię nextval('your_sequence_name'::regclass)
do wartości domyślnej w kluczu podstawowym, jak pokazano poniżej.
Upewnij się, że nazwa sekwencji jest tutaj poprawna. To wszystko i automatyczny przyrost powinien działać.
SERIAL
?
GENERATED BY DEFAULT AS IDENTITY
wprowadzenie Postgres> = 10.