Setting Auto Increment Table In PostgreSQL

 


    Auto Increment merupakan fitur pada database yang memungkinkan pengguna membuat angka unik yang dihasilkan secara otomatis dan berurut untuk setiap rekor / catatan baru yang dimasukkan / di input kedalam table database tersebut.

Stepsnaya adalah :

1. Buat Sequence sesuai database, schema, tabel. Misal nama tabelnya tabel_mhs kolom id_mhs.

CREATE SEQUENCE tabel_mhs_id_mhs_seq;

nah pembuatan ini ada 2 opsi yaitu untuk:
2. Untuk tabel yang masih belum ada datanya, jalan kan query berikut:

SELECT setval('treg_detail_respon_id_respon',123000);

Untuk angka 123000 adalah, sequence akan di mulai dari angka berapa ketika ada insert.

lalu jalankan alter

ALTER TABLE tabel_mhs ALTER COLUMN id_mhs SET DEFAULT nextval('tabel_mhs_id_mhs_seq');

3. Jika tabelnya sudah ada isinya, apakah ada problem?
Jawabannya tidak ada problem namun kita harus melanjutkan data id_mhs terakhir, misal datanya sudah sampai 123555;

- Pertama jalankan quernya  dibawah untuk cek id_mhs terakhir.

SELECT max(id_mhs) FROM tabel_mhs;

misalkan hasilnya adalah  123555

- set valuenya dengan query dibawah dan kita lebihkan 5 value (max+5)

SELECT setval('tabel_mhs_id_mhs_seq',123560);

- Jalankan untuk cek set valuenya sudah di set sesuai yang kita kehendaki.

SELECT * FROM tabel_mhs_id_mhs_seq; 


lalu jalankan alter

ALTER TABLE tabel_mhs ALTER COLUMN id_mhs SET DEFAULT nextval('tabel_mhs_id_mhs_seq');


Finish.


jika mau lihat hasilnya silakan \d+ nama_tabel;

 

0 komentar