Automatyczne zwiększanie klucza podstawowego w postgresql:
Krok 1, stwórz swój stół:
CREATE TABLE epictable
(
mytable_key serial primary key,
moobars VARCHAR(40) not null,
foobars DATE
);
Krok 2, wstaw wartości do tabeli w ten sposób, zauważ, że klucz mytable_ nie jest określony na liście pierwszych parametrów, powoduje to automatyczne zwiększenie wartości domyślnej sekwencji.
insert into epictable(moobars,foobars) values('delicious moobars','2012-05-01')
insert into epictable(moobars,foobars) values('worldwide interblag','2012-05-02')
Krok 3, wybierz * ze stołu:
el@voyager$ psql -U pgadmin -d kurz_prod -c "select * from epictable"
Krok 4, zinterpretuj wynik:
mytable_key | moobars | foobars
-------------+-----------------------+------------
1 | delicious moobars | 2012-05-01
2 | world wide interblags | 2012-05-02
(2 rows)
Zauważ, że kolumna mytable_key została automatycznie zwiększona.
Porada:
Zawsze powinieneś używać klucza podstawowego na stole, ponieważ postgresql wewnętrznie używa struktur tabeli mieszających, aby zwiększyć szybkość wstawiania, usuwania, aktualizacji i selekcji. Jeśli dostępna jest kolumna klucza podstawowego (która jest wymuszona jako unikatowa i nie jest pusta), można na niej polegać, aby zapewnić unikalne ziarno dla funkcji skrótu. Jeśli kolumna klucza podstawowego nie jest dostępna, funkcja skrótu staje się nieefektywna, gdy wybiera inny zestaw kolumn jako klucz.