Kembali lagi ke pembahasan mysql kali ini rumah code akan belajar tentang membuat dua buah primary key pada database server mysql. Sebenarnya sebuah tabel hanya dapat membuat tapi bisa saja kita membuat dua buah primary key dengan tujuan tertentu.
Ciri dari primary key adalah nilai yang ada pada field harus unik dengan kata lain tidak boleh memiliki 2 buah nilai yang sama.
Apakah setiap tabel harus memiliki primary key? Tentu saja setiap tabel harus memiliki primary key karenan primary key adalah merupakan identitas untuk field field lain nya
Baca Juga : Tutorial Membuat Primary dan Foreign Key di MySQL
Lalu kenapa saya membuat dua buah primary key? Tujuan saya membuat primary key sebenarnya adalah agar dapat di fungsikan sebagai foreing key. Jadi primary key kedua akan saya buat akan saya fungsikan sebagai AUTO_INCREMENT dengan mengacu ke field primary key pertama. Coba perhatikan contoh tabel di bawah ini
+---------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------+------+-----+---------+----------------+
| tanggal | date | NO | PRI | NULL | |
| no_urut | int[11] | NO | PRI | NULL | auto_increment |
+---------+---------+------+-----+---------+----------------+
pada tabel di atas terdapat sebuah tabel dengan dua buah primary key dengan field tanggal dan no_urut. pada field no_urut mempunyai nilai yang otomatis atau auto_increament.
Coloum no_urut pada tabel di atas akan diberikan nilai otomatis oleh mysql. Nilai otomatis yang diberikan akan mengacu pada field tanggal. Jadi setiap field no_urut akan mempunyai urutan masing masing jika field tanggal berbeda. Hmmm . . . agak susah juga jelasin nya. Agar lebih mudah kita lihat saja contoh nilai dari tabel di atas
+------------+---------+
| tanggal | no_urut |
+------------+---------+
| 2020-07-01 | 1 |
| 2020-07-03 | 1 |
| 2020-07-03 | 2 |
| 2020-07-04 | 1 |
| 2020-07-04 | 2 |
| 2020-07-04 | 3 |
+------------+---------+
Perhatikan data pada tabel di atas. Setia field tanggal mempunyai no_urut yang kembali mengurutkan jika field tanggal berbeda. Mudah mudahan teman teman dapat mengerti dengan apa yang saya maksud.
Sekarang saya akan memberikan sql query nya untuk membuat tabel dengan multiple primary key
CREATE TABLE `tabel_contoh` [
`tanggal` date NOT NULL,
`no_urut` int[11] NOT NULL
] ENGINE=MyISAM DEFAULT CHARSET=utf8;
ALTER TABLE `tabel_contoh`
ADD PRIMARY KEY [`tanggal`,`no_urut`];
ALTER TABLE `tabel_contoh`
MODIFY `no_urut` int[11] NOT NULL AUTO_INCREMENT;
COMMIT;
Artikel Menarik Lainnya mysql, tutorial mysqlTeman teman pembaca, pada kesempatan kali ini saya akan berbagi tentang membuat database offline di //localhost//phpmyadmin/. Kasus yang akan di selesaikan yaitu kasus pada sebuah bank untuk dijadikan Database. Buat temen — temen yang belum mengetahui localhost itu apa, bisa dicari dahulu di google atau buku karena saya tidak akan menjelaskan detail. Berikut adalah langkah yang dilakukan untuk menyelesaikan kasus tersebut :
- Jika sudah memiliki localhost maka silahkan login dengan user name, dan password yang sesuai saat pertama kali menginstall Apache Triad.
- Setelah berhasil masuk kedalam localhost, masukkan nama program yang akan dibuat. Seperti gambar berikut :
3. Klik Create >untuk membuat nama program [isikan sesuai nama prgram agar mudah dicari]. Pada number of field isikan sesuai kebutuhan dari temen — temen >GO
4. Isikan Field dengan nama tabel yang dibutuhkan, dalam kasus ini saya memasukkan NIM, Nama, Prodi, Alamat, dan Jumlah Pinjaman. Pada coloumn NIM saya menggunakan auto increment dan INT [hanya angka]. Simpan tabel.
5. Jika tabel sudah disimpan, maka akan seperti ini:
6. Klik sisipkan untuk pengisian data dalam tabel peminjam tersebut. Klik GO
7. Klik browse untuk melihat tampilan
8. Setelah itu membuat tabel kembali, klik perpus. Ketik nama tabel dan isikan berapa kolom yang akan di buat kemudian klik go.
9. Mengisi tabel baru seperti langkah sebelumnya saat membuat tabel.
10. Setelah menyelesaikan pengisian tabel. Berikut adalah tampilan
11. Klik sisipkan untuk mengisi tabel tersebut. Klik Go untuk menyelesaikan pengisian tabel pegawai.
12. Hasil pengisian pada tabel pegawai.
Berikut adalah penjelasan singkat untuk membut 2 tabel dengan menggunakan primery key, unique, dan auto increment.
Di kesempatan selanjutnya, saya akan menjelaskan lebih detail tentang study kasus ini.
Terimakasih