Bagaimana cara membuat kunci utama dalam dua kolom di mysql?

Kunci komposit di MySQL adalah kombinasi dari dua atau lebih dari dua kolom dalam tabel yang memungkinkan kita untuk mengidentifikasi setiap baris tabel secara unik. Ini adalah jenis kunci kandidat yang dibentuk oleh lebih dari satu kolom. MySQL menjamin keunikan kolom hanya jika digabungkan. Jika diambil secara individual, keunikan itu tidak bisa dipertahankan

Kunci apa pun seperti kunci primer, kunci super, atau kunci kandidat dapat disebut kunci komposit ketika digabungkan dengan lebih dari satu atribut. Kunci komposit berguna saat tabel perlu mengidentifikasi setiap record dengan lebih dari satu atribut secara unik. Kolom yang digunakan dalam kunci komposit dapat memiliki tipe data yang berbeda. Dengan demikian, tidak diperlukan tipe data yang sama untuk kolom untuk membuat kunci komposit di MySQL

Kunci komposit dapat ditambahkan dengan dua cara

  1. Menggunakan Pernyataan CREATE
  2. Menggunakan Pernyataan ALTER

Mari kita lihat kedua cara tersebut secara rinci

Kunci Komposit Menggunakan Pernyataan CREATE

Di sini, kita akan memahami cara kerja kunci komposit di MySQL. Mari kita buat tabel "Produk" terlebih dahulu, menggunakan pernyataan berikut

Dalam pernyataan di atas, kami telah membuat primer komposit dengan nama kolom Name dan Manufacturer

Kami dapat memverifikasi hal yang sama menggunakan perintah seperti di bawah ini

Setelah eksekusi sukses, kita bisa melihat bahwa kolom Key memiliki dua PRI. Artinya kita telah berhasil menambahkan composite primary key pada kolom Name dan Manufacturer

Bagaimana cara membuat kunci utama dalam dua kolom di mysql?

Selanjutnya, kita perlu memasukkan nilai ke dalam tabel ini seperti yang diberikan di bawah ini

Selanjutnya, jalankan perintah di bawah ini untuk menampilkan data tabel

Ini akan memberikan output di bawah ini

Bagaimana cara membuat kunci utama dalam dua kolom di mysql?

Sekali lagi jalankan pernyataan insert di bawah ini untuk memahami kunci komposit dengan lebih jelas

Pada output di bawah ini, kita dapat melihat bahwa jika kita mencoba menambahkan kombinasi dari nama produk dan pabrikan yang sama, maka akan muncul kesalahan yang mengatakan bahwa. Entri duplikat untuk produk. utama

Jika kita mengeksekusi pernyataan penyisipan kedua, itu akan berhasil ditambahkan ke dalam tabel. Itu karena kita bisa memasukkan sabun dalam jumlah berapa pun di kolom produk, tetapi kolom pabrikan harus berbeda

Bagaimana cara membuat kunci utama dalam dua kolom di mysql?

Oleh karena itu, kita dapat mengatakan bahwa kunci komposit selalu memaksakan keunikan kolom tabel tersebut, yang memiliki dua kunci

Kunci Komposit Menggunakan Pernyataan ALTER TABLE

Pernyataan ALTER selalu digunakan untuk melakukan modifikasi pada tabel yang sudah ada. Terkadang diperlukan untuk menambahkan kunci komposit untuk mengidentifikasi secara unik setiap catatan tabel dengan lebih dari satu atribut. Dalam hal ini, kami menggunakan pernyataan ALTER TABLE

Mari kita buat tabel "Siswa" menggunakan pernyataan di bawah ini

Sekarang, jalankan pernyataan ALTER TABLE untuk menambahkan kunci primer komposit sebagai berikut

Kami dapat memverifikasi kunci primer komposit yang ditambahkan ke tabel atau tidak menggunakan perintah berikut

Pada output, kita dapat melihat bahwa kolom key memiliki PRI, yang berarti kita telah berhasil menambahkan composite primary key ke kolom stud_id dan subject.

Setiap entri dalam tabel diidentifikasi secara unik oleh batasan PRIMARY KEY. Kunci utama harus memiliki nilai UNIK dan tidak boleh memiliki nilai NULL. Sebuah tabel hanya dapat memiliki SATU kunci utama, dan kunci utama ini dapat terdiri dari satu atau banyak kolom (bidang)

Apa itu Kunci Utama Komposit?

Sumber Gambar

Kunci Utama Komposit dibuat dengan menggabungkan dua atau lebih kolom dalam tabel yang dapat digunakan untuk mengidentifikasi secara unik setiap baris dalam tabel saat kolom digabungkan, tetapi tidak menjamin keunikan saat diambil secara terpisah, atau dapat juga dipahami sebagai

Catatan.  

  • Kunci Utama Komposit juga dapat dibuat dengan kombinasi lebih dari satu kunci kandidat
  • Kunci Utama Komposit tidak boleh nol

Bagaimana Cara Membuat Kunci Utama Komposit MySQL?

Anda dapat membuat Kunci Utama komposit MySQL dengan dua cara berikut

  • Selama pembuatan tabel menggunakan pernyataan CREATE TABLE
  • Setelah membuat tabel menggunakan pernyataan ALTER TABLE

Kami akan melihat kedua contoh ini untuk membuat kunci utama komposit MySQL

Cara-cara berikut adalah

1) Membuat Kunci Utama Komposit MySQL saat Pembuatan Tabel

Untuk membuat kunci utama komposit MySQL selama pembuatan tabel, Anda dapat mengikuti langkah-langkahnya

Misalnya Anda ingin membuat Pelanggan dengan kolom kolom (id_pesanan, id_produk, jumlah) dengan kunci utama Komposit MySQL (id_pesanan, id_produk)

mysql> CREATE TABLE Customers (
          order_id INT,
          product_id INT,
          amount INT,
          PRIMARY KEY (order_id, product_id)
     ) ;

Dalam cuplikan di atas, MySQL Composite primer dibuat dengan nama kolom order_id dan product_id

Anda dapat memverifikasi hal yang sama menggunakan perintah seperti di bawah ini

mysql> Describe Customers;
_

Keluaran

+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| order_id   | int(11) | NO   | PRI | 0       |       |
| product_id | int(11) | NO   | PRI | 0       |       |
| amount     | int(11) | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+

Setelah berhasil menjalankan kueri di atas, Anda dapat melihat bahwa kolom Kunci memiliki dua PRI. Artinya Anda telah berhasil menambahkan MySQL Composite Primary key pada kolom order_id dan product_id

Selanjutnya, Anda perlu memasukkan nilai ke dalam tabel ini seperti yang diberikan di bawah ini

INSERT INTO Customers (order_id, product_id, amount)  
VALUES (101, 509, 800),  
(102, 610, 799),  
(103, 702, 650);

Selanjutnya, Anda dapat menjalankan perintah berikut untuk menampilkan data dalam tabel

SELECT * FROM Customers;  
_

Keluaran

+---------------+---------------+--------+
| order_id      | product_id    | amount |
+---------------+---------------+--------+
| 101           | 509           | 800    |
| 102           | 610           | 799    | 
| 103           | 702           | 650    |   
+---------------+---------------+--------+

Sekali lagi Anda dapat menjalankan pernyataan INSERT di bawah ini untuk memahami kunci Utama Komposit MySQL dengan kejelasan yang lebih baik

INSERT INTO Customers (order_id, product_id, amount)  
VALUES (103, 702, 699);  
  
INSERT INTO Customers (order_id, product_id, amount)
VALUES (103, 870, 599);  
_

Dalam keluaran yang diberikan di bawah, Anda dapat melihat bahwa jika Anda mencoba menambahkan id pesanan dan id produk yang sama, ini akan memunculkan pesan kesalahan. “Entri duplikat untuk konsumen. utama"

Jika Anda mengeksekusi pernyataan INSERT kedua, itu akan berhasil ditambahkan ke dalam tabel. Itu karena Anda dapat memasukkan nomor 103 di kolom order_id, tetapi kolom product_id harus berbeda

Akibatnya, kunci Utama Komposit MySQL selalu menjamin keunikan kolom tabel tersebut, yang memiliki dua kunci

2) Menambahkan Kunci Utama Komposit MySQL di Tabel yang Ada

Pernyataan ALTER selalu digunakan untuk membuat tabel modifikasi. Untuk mengidentifikasi secara unik setiap record dalam database dengan lebih dari satu atribut, MySQL Composite Primary Key terkadang diperlukan. Dalam hal ini, pernyataan ALTER TABLE dapat digunakan

Di bawah ini diberikan contoh cara menambahkan MySQL Composite Primary Key pada tabel yang ada. Katakanlah Anda memiliki tabel berikut

Pertama, Anda dapat membuat tabel "Pesanan" menggunakan pernyataan di bawah ini

mysql> CREATE TABLE Orders (
         order_id INT,
         product_id INT,
         amount INT
     ) ;

Selanjutnya, Anda dapat menjalankan perintah berikut untuk menampilkan data dalam tabel

mysql> Describe Orders;
_

Keluaran

+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| order_id   | int(11) | YES  |     | NULL    |       |
| product_id | int(11) | YES  |     | NULL    |       |
| amount     | int(11) | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+
_

Seperti yang Anda lihat, tabel Orders tidak memiliki Primary Key karena tidak ada penyebutan PRI di kolom Key pada tabel sebelumnya.

Sekarang, Anda dapat menjalankan pernyataan ALTER TABLE untuk menambahkan kunci Utama Komposit MySQL sebagai berikut

mysql> Describe Customers;
_0

Anda dapat memverifikasi kunci Utama Komposit MySQL ditambahkan ke dalam tabel atau tidak menggunakan perintah berikut

Anda dapat menggunakan perintah berikut untuk memverifikasi apakah kunci Utama Komposit MySQL telah ditambahkan ke tabel

mysql> Describe Orders;
_

Keluaran

+------------+---------+------+-----+---------+-------+
| Field      | Type    | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| order_id   | int(11) | NO   | PRI | 0       |       |
| product_id | int(11) | NO   | PRI | 0       |       |
| amount     | int(11) | YES  |     | NULL    |       |
+------------+---------+------+-----+---------+-------+

Pada output, kita dapat melihat bahwa kolom kunci memiliki 2 PRI, yang berarti kita telah berhasil menambahkan kunci primer gabungan ke kolom order_id dan product_id 

A) Indeks Kunci Utama Komposit MySQL

Anda dapat membuat indeks kunci Primer Komposit MySQL yang menggunakan kolom yang sama dengan kunci Primer Komposit MySQL Anda

mysql> Describe Customers;
_3

Kesimpulan

Pada artikel ini, Anda telah mempelajari tentang MySQL Composite Primary Keys. Artikel ini juga memberikan informasi tentang MySQL, fitur utamanya, Kunci Utama, Kunci Utama Komposit, dan berbagai metode pembuatan Kunci Utama MySQL secara detail. Untuk informasi lebih lanjut tentang Skema MySQL, Tampilan MySQL, Koneksi JSON MySQL, Anda dapat mengunjungi tautan sebelumnya

Hevo Data, No-code Data Pipeline memberi Anda solusi yang konsisten dan andal untuk mengelola transfer data antara berbagai sumber dan berbagai Tujuan yang Diinginkan dengan beberapa klik

Kunjungi Situs Web kami untuk Menjelajahi Hevo

Hevo Data dengan integrasinya yang kuat dengan 100+ sumber data (termasuk 40+ Sumber Gratis) memungkinkan Anda untuk tidak hanya mengekspor data dari sumber data yang Anda inginkan & memuatnya ke tujuan pilihan Anda, tetapi juga mengubah & memperkaya data Anda untuk menjadikannya analisis . Hevo juga memungkinkan pengintegrasian data dari sumber non-asli menggunakan Konektor Webhook bawaan Hevo. Anda kemudian dapat fokus pada kebutuhan bisnis utama Anda dan melakukan analisis mendalam menggunakan alat BI.  

Ingin mencoba Hevo?

Mendaftar untuk uji coba gratis selama 14 hari dan rasakan langsung suite Hevo yang kaya fitur. Anda juga dapat melihat harga yang luar biasa, yang akan membantu Anda dalam memilih paket terbaik untuk kebutuhan Anda

Bagikan pengalaman Anda dalam memahami Kunci Utama Komposit MySQL di bagian komentar di bawah. kami akan sangat senang menerima pendapat Anda

Bagaimana cara menetapkan dua kolom sebagai kunci utama?

Dalam Perancang Tabel, klik pemilih baris untuk kolom database yang ingin Anda tetapkan sebagai kunci utama. Jika Anda ingin memilih beberapa kolom, tahan tombol CTRL sambil mengklik pemilih baris untuk kolom lainnya. Klik kanan pemilih baris untuk kolom dan pilih Set Primary Key .

Bisakah kunci utama diatur pada banyak kolom?

Kunci utama dapat terdiri dari satu kolom atau beberapa kolom sesuai dengan kumpulan data . Tabel database hanya dapat memiliki satu kunci utama. Kunci utama tidak boleh memiliki nilai nol.

Bagaimana cara membuat beberapa kunci utama di MySQL?

Indeks Kunci Utama Komposit MySQL . mysql> ubah tabel new_orders ADD INDEX new_index (order_id, product_id); Mudah-mudahan, sekarang Anda dapat membuat kunci primer komposit di MySQL.

Bagaimana cara menambahkan kunci utama ke kolom di MySQL?

Saat tabel tidak memiliki kunci utama, pernyataan ini digunakan untuk menambahkan kunci utama ke kolom tabel yang sudah ada. Berikut ini adalah sintaks pernyataan ALTER TABLE untuk membuat primary key di MySQL. UBAH TABEL nama_tabel TAMBAHKAN KUNCI UTAMA(daftar_kolom);