Alter Table Column Unique
Apa itu unique constraint ?
Ketika membuat suatu table, misalnya table pendaftaran dan table nya sdh selesai dibuat, tetapi ada satu kolom yang harusnya mempunyai contraint unique, misalnya kolom nomor_daftar, apa yang harus dilakukan ? Padahal kolom nomor_pendaftaran harus sifatnya unik(unique), jika datanya sudah ada yang masuk dan pada nomor_daftar terdapat data yang sama (tidak unique) , maka sebelum melakukan alter table (merubah contraint) harus dilakukan dlu hapus data pada kolom yang akan dijadikan unique, sehingga data untuk kolom nomor_daftar sudah tidak ada lagi yang sama, baru bisa dilakukan alter table tersebut.
Kenapa harus unique ?
Untuk data kolom nomor_daftar apa jadinya jika ada beberapa orang mempunya nomor_daftar yang sama ? Jika belum ada constraint unique pada kolom nomor_daftar akan memungkinkan hal ini terjadi. Nomor_daftar sebenarnya tidak akan mungkin terjadi kesamaan data, jika kolom ini dijadikan sebagai kunci utama (primary key), tetapi jika bukan sebagai kunci utama, akan memungkinkan kesamaan data pada nomor_daftar, untuk itu ditambahkan contraint unique pada kolom nomor_daftar.
Bagaimana menjadikan kolom unique ?
Pada mysql atau mariadb, bisa dilakukan perubahan struktur table dengan menggunakan perintah alter, perintah alter bisa digunakan untuk menambahkan property kolom atau juga mengubah property kolom (field) dan juga menghapus (drop) kolom, sedangkan untuk menambahkan constraint unique pada kolom nomor_daftar, termasuk dalam kategori merubah property field (modify column).
Bagaimana perintah ( Command Line ) Menambahkan Constraint Unique ?
Login dulu ke dalam mysql (mariadb) lewat command line interface = CLI (bisa juga dilakukan menggunakan graphical user interface = GUI, jika menggunakan phpmyadmin atau aplikasi yang lainnya), pada tulisan ini menggunakan CLI mode,
Setelah sukses login ke mysql, (mysql -uroot -p), pilih database dengan perintah use database, baru jalankan perintah ini :
alter table pendaftaran modify column nomor_daftar varchar(8) unique;
Selesai :)
No comments:
Post a Comment