Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL Tambahkan Kendala Unik

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!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tutorial MySQL – Mengonfigurasi dan Mengelola SSL di Server MySQL Anda

  2. Cara Instal MySQL dengan phpMyAdmin di Debian 7

  3. Buat Situs Web dengan MySQL

  4. Cara Mendapatkan Total Pengguna Kumulatif Per Hari di MySQL

  5. Cara terbaik menyimpan informasi pengguna dan login pengguna dan kata sandi