Terkadang Anda mungkin perlu membuat kolom unik di MySQL. Anda dapat melakukan ini dengan menambahkan batasan kolom UNIK di MySQL. Ada beberapa cara untuk menambahkan batasan unik – menggunakan pernyataan CREATE TABLE atau ALTER TABLE. Berikut cara menambahkan batasan unik di MySQL.
MySQL Tambahkan Batasan Unik
Berikut cara menambahkan batasan unik di MySQL. Anda dapat menambahkan batasan unik saat membuat tabel, atau setelah membuat tabel. Kami akan melihat kedua pendekatan ini.
MySQL Menambahkan Batasan Unik Saat Membuat Tabel
Berikut pernyataan SQL untuk membuat batasan UNIK saat Anda membuat tabel
CREATE TABLE table_name( ..., column_name data_type UNIQUE, ... )
Dalam kueri di atas, Anda perlu menentukan kata kunci UNIK untuk definisi kolom yang ingin Anda unikkan.
Berikut adalah contoh untuk membuat batasan unik. Dalam contoh berikut, kami telah menambahkan batasan UNIK untuk order_id kolom
mysql> create table recent_orders ( order_id int UNIQUE, amount int ); mysql> describe recent_orders; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | order_id | int(11) | YES | UNI | NULL | | | amount | int(11) | YES | | NULL | | +----------+---------+------+-----+---------+-------+
Sekarang jika Anda mencoba memasukkan nilai duplikat untuk order_id kolom Anda akan mendapatkan kesalahan.
mysql> insert into recent_orders(order_id, amount) values(1, 100),(1,250); ERROR 1062 (23000): Duplicate entry '1' for key 'order_id' mysql> insert into recent_orders(order_id, amount) values(1, 100),(2,250); mysql> select * from recent_orders; +----------+--------+ | order_id | amount | +----------+--------+ | 1 | 100 | | 2 | 250 | +----------+--------+
Bonus Baca :MySQL Rename Kolom
MySQL Menambahkan Batasan Unik ke Kolom yang Ada
Berikut pernyataan SQL untuk membuat batasan UNIK untuk kolom yang ada, menggunakan pernyataan ALTER TABLE.
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column1, column2, ... );
Dalam kueri SQL di atas, Anda perlu menentukan constraint_name untuk UNIQUE constraint setelah ADD CONSTRAINT, dan buat daftar kolom yang Anda inginkan untuk menjadi unik di ( )
Berikut ini contoh untuk menambahkan batasan Unik ke kolom yang ada
mysql> alter table recent_orders add constraint unique_amount UNIQUE (amount); mysql> describe recent_orders; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | order_id | int(11) | YES | UNI | NULL | | | amount | int(11) | YES | UNI | NULL | | +----------+---------+------+-----+---------+-------+
Dalam kueri di atas, kami telah menambahkan batasan unik ke kolom jumlah.
Bonus Baca :Cara Duplikat Tabel di MySQL
MySQL Tambahkan Batasan Unik Beberapa Kolom
Berikut pernyataan SQL untuk membuat batasan UNIK ke beberapa kolom.
mysql> create table old_orders ( order_id int, amount int, CONSTRAINT u_orders UNIQUE (order_id,amount) ); mysql> describe old_orders; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+-------+ | order_id | int(11) | YES | MUL | NULL | | | amount | int(11) | YES | | NULL | | +----------+---------+------+-----+---------+-------+ mysql> insert into old_orders(order_id, amount) values(1, 100),(1,100); ERROR 1062 (23000): Duplicate entry '1-100' for key 'u_orders'
Bonus Baca :Prosedur Tersimpan MySQL Dengan Parameter
Anda juga dapat menambahkan UNIQUE CONSTRAINT ke beberapa kolom menggunakan pernyataan ALTER TABLE.
alter table old_orders add constraint unique_orders UNIQUE (order_id,amount);
Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!