Membuat multiple columns Primary Key Pada MySQL

Membuat multiple columns Primary Key Pada MySQL

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 mysql

loading...