Unique Constraint memungkinkan Anda untuk menerapkan keunikan record di tabel database Anda dan menjaga integritas database. Berikut cara menghilangkan batasan unik dari tabel MySQL menggunakan perintah MySQL DROP INDEX. Ini juga digunakan untuk menghapus kunci unik di MySQL.
Apa itu Unique Constraint di MySQL?
Batasan unik untuk tabel adalah kombinasi dari satu atau beberapa bidang yang secara unik mendefinisikan setiap catatan dalam tabel. Bidang ini dapat berisi nilai nol selama kombinasi nilai bidang unik.
Bonus Baca :JATUHKAN KENDALA KY ASING
Cara Menghilangkan Batasan Unik di MySQL
Berikut adalah langkah-langkah untuk menghilangkan batasan unik di MySQL. Kami akan menggunakan kueri MySQL DROP INDEX untuk menghapus indeks yang ada dari tabel.
Berikut sintaks perintah MySQL DROP INDEX
DROP INDEX constraint_name ON table_name
[algorithm_option | lock_option];
Dalam kueri di atas, constraint_name adalah nama kendala, dan nama_tabel adalah nama tabel database Anda.
Harap diperhatikan , apakah Anda ingin DROP INDEX atau DROP UNIQUE CONSTRAINT, Anda perlu menggunakan kueri DROP INDEX.
Bonus Baca :MySQL DROP DATABASE
Anda juga dapat memberikan 2 argumen opsional – algorithm_option dan lock_option.
algorithm_option dapat memiliki salah satu dari 3 nilai – default, inplace, copy. Bergantung pada argumen Anda, MySQL akan menggunakan algoritme yang berbeda untuk menghilangkan batasan unik.
Sintaksnya adalah
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
- default – Ini memiliki efek yang sama seperti tidak menggunakan algorithm_option argumen
- salin – Tabel di mana Anda perlu menghapus batasan, akan disalin dan indeks akan dihapus dari tabel salin. Selama waktu ini, operasi bersamaan seperti INSERT dan UPDATE tidak diizinkan.
- di tempat – Dalam hal ini, tabel dibangun kembali di tempatnya tanpa kendala. Meskipun opsi ini memungkinkan operasi bersamaan, opsi ini menempatkan kunci metadata selama eksekusi.
Tergantung pada lock_option MySQL akan mengunci/tidak mengunci akses baca/tulis ke tabel Anda saat batasan sedang dihapus. lock_option memiliki sintaks berikut
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
Dibutuhkan 4 nilai:
- default – memungkinkan konkurensi maksimum untuk algoritme pilihan Anda. itu memungkinkan membaca dan menulis secara bersamaan jika didukung. Jika tidak, ini hanya memungkinkan pembacaan bersamaan. Jika itu juga tidak didukung, itu memberlakukan akses eksklusif.
- none – jika didukung, Anda dapat membaca dan menulis secara bersamaan. Jika tidak, MySQL memberikan kesalahan.
- dibagikan – jika opsi bersama didukung, Anda dapat membaca secara bersamaan, tetapi tidak menulis secara bersamaan.
- eksklusif – opsi ini memberlakukan akses eksklusif
Bonus Baca :MySQL DROP COLUMN
Contoh MySQL DROP UNIQUE CONSTRAINT
Katakanlah Anda memiliki tabel berikut dengan batasan unik.
mysql> create table orders(order_id int primary key, order_date date, product varchar(255), sale int, constraint name unique (product) );
Inilah kueri SQL untuk menghapus batasan unik nama dari tabel pesanan .
mysql> DROP INDEX name ON orders;
Bonus Baca :MySQL DROP TABLE
MySQL DROP PRIMARY KEY Index
Karena kunci utama juga merupakan contoh batasan unik pada tabel, berikut adalah sintaks untuk menghapus batasan kunci utama pada urutan tabel.
mysql> DROP INDEX `PRIMARY` ON orders;
Dalam hal ini kami merujuk bidang kunci utama sebagai `PRIMARY` alih-alih menggunakan nama bidang.
Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!