it-swarm.asia

Bagaimana cara menentukan bahwa kolom harus ditambahkan secara otomatis di pgAdmin?

Saya sudah mulai belajar pgAdmin III untuk mengelola database PostgreSQL. Tapi itu bukan aplikasi yang mudah digunakan.

Jika saya membuat atau telah membuat tabel dengan pgAdmin III, bagaimana saya bisa menambahkan "peningkatan otomatis" -fungsi pada id kolom yang memiliki tipe integer?

15
Jonas

dua opsi: Gunakan "tipe data" SERIAL atau buat urutan dan gunakan urutan ini sebagai nilai default untuk integer Anda:

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

Jika Anda ingin melakukan ini di PGAdmin, itu jauh lebih mudah daripada menggunakan baris perintah. Tampaknya di PostgreSQL, untuk menambahkan kenaikan otomatis ke kolom, pertama-tama kita harus membuat urutan kenaikan otomatis dan menambahkannya ke kolom yang diperlukan. Saya memang suka ini.

1) Pertama, Anda perlu memastikan ada kunci utama untuk tabel Anda. Juga simpan tipe data kunci utama dalam bigint atau smallint. (Saya menggunakan bigint, tidak dapat menemukan datatype yang disebut serial sebagaimana disebutkan dalam jawaban lain di tempat lain)

2) Kemudian tambahkan urutan dengan mengklik kanan pada urutan-> tambahkan urutan baru . Jika tidak ada data di tabel, biarkan urutannya seperti itu, jangan buat perubahan apa pun. Simpan saja. Jika ada data yang ada, tambahkan nilai terakhir atau tertinggi di kolom kunci utama ke nilai Sekarang di tab Definisi seperti yang ditunjukkan di bawah ini. enter image description here

3) Akhirnya, tambahkan baris nextval('your_sequence_name'::regclass) ke nilai Default di kunci utama Anda seperti yang ditunjukkan di bawah ini.

enter image description here Pastikan nama urutan sudah benar di sini. Ini semua dan peningkatan otomatis harus berfungsi.

15
toing_toing