Yanıtlar:
iki seçenek: "datatype" SERIAL işlevini kullanın veya bir dizi oluşturun ve bu diziyi tamsayı için varsayılan değer olarak kullanın:
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 *;
Bunu PGAdmin'de yapmak istiyorsanız, komut satırını kullanmaktan çok daha kolaydır. PostgreSQL'de, bir sütuna otomatik artış eklemek için, önce bir otomatik artış sırası oluşturmamız ve bunu gerekli sütuna eklememiz gerekir. Bunu beğendim.
1) Öncelikle tablonuz için birincil anahtar olduğundan emin olmanız gerekir. Ayrıca birincil anahtarın veri türünü bigint veya smallint'te tutun. (Ben bigint kullandım, başka bir yerde diğer cevaplarda belirtildiği gibi seri adı verilen bir veri türü bulamadım)
2) Ardından sekansı sağ tıklatarak bir sekans ekleyin-> yeni sekans ekle . Tabloda veri yoksa, sırayı olduğu gibi bırakın, değişiklik yapmayın. Sadece kurtar. Mevcut veriler varsa, birincil anahtar sütunundaki son veya en yüksek değeri aşağıda gösterildiği gibi Tanımlar sekmesindeki Geçerli değere ekleyin.
3) Son olarak, satırı nextval('your_sequence_name'::regclass)
birincil anahtarınızdaki Varsayılan değerine aşağıda gösterildiği gibi ekleyin.
Burada sıra adının doğru olduğundan emin olun. Hepsi bu ve otomatik artış işe yarayacak.
SERIAL
mu düşünüyorsunuz ?
GENERATED BY DEFAULT AS IDENTITY
Postgres> = 10 ile tanıtılacak şekilde güncellenebilir