Jadi ceritanya, saya sedang memindahkan aplikasi saya untuk
menggunakan postgresql dari sebelumnya mysql. setelah sebelumnya punya pengalaman buruk dengan mysql.
Prosesnya rada lama & ribet, karena code yang ditulis adalah
mysql-centric. jadi begitu migrasi, hehehe rada berdarah2 gitu. harusnya
sih pake PDO atau teknologi semacam itu agar dapat support ke beberapa
database.
Nah salah satu feature database yang penting adalah autoincrement.
Artinya nilai pada kolom tersebut akan teriisi otomatis jika kita
melakukan operasi insert. contoh kolom yang menggunakan autoincrement:
id, nomer invoice, dll.
Di mysql, feature autoincrement dimasukkan kedalam feature tabel.
sehingga kalo alter table tersebut kita tinggal bilang ada bahwa colom
anu adalah autoincrement.
di postgresql rada beda. autoincrement adalah sebuah entiti sendiri
yang independent. di postgresql, ini disebut sequence. jadi lebih
fleksible dalam penggunaannya. kita bisa ngeset start value, current
value, increment, recycle, last value. nah setelah object sequence ini
di create, maka selanjutnya adalah meng-assign sequence ke kolom tabel.
contoh commandnya:
Create sequence:
Alter tabel & colom. dalam kasus ini kolom tujuan (userid) harus bersifat UNIQUE atau sebagai primary key:CREATE SEQUENCE tbluser_userid_seq;
Update kolom userid:ALTER TABLE tbluser ALTER COLUMN userid SET DEFAULT NEXTVAL('user_userid_seq');
Begitulah kira2, semoga bermanfaat.UPDATE tbluser SET userid = NEXTVAL('user_userid_seq');
Referensi : http://achmad.glclearningcenter.com/2011/08/28/setup-auto-increment-di-postgresql/
0 comments:
Post a Comment