Unikalne ograniczenie pozwala na wymuszenie unikalności rekordów w tabeli bazy danych i zachowanie integralności bazy danych. Oto jak usunąć unikalne ograniczenie z tabeli MySQL za pomocą polecenia MySQL DROP INDEX. Jest również używany do usuwania unikalnego klucza w MySQL.
Co to jest unikatowe ograniczenie w MySQL?
Unikalne ograniczenie dla tabeli to kombinacja jednego lub więcej pól, które jednoznacznie definiują każdy rekord w tabeli. Pola te mogą zawierać wartości null, o ile kombinacja wartości pól jest unikalna.
Przeczytaj bonus:UPUŚĆ ZAGRANICZNE OGRANICZENIE KY
Jak usunąć unikalne ograniczenia w MySQL
Oto kroki, aby usunąć unikalne ograniczenie w MySQL. Użyjemy zapytania MySQL DROP INDEX, aby usunąć istniejący indeks z tabeli.
Oto składnia polecenia MySQL DROP INDEX
DROP INDEX constraint_name ON table_name
[algorithm_option | lock_option];
W powyższym zapytaniu nazwa_ograniczenia to nazwa ograniczenia, a nazwa_tabeli to nazwa Twojej tabeli bazy danych.
Uwaga , niezależnie od tego, czy chcesz DROP INDEX, czy DROP UNIQUE CONSTRAINT, musisz użyć zapytania DROP INDEX.
Przeczytaj bonus:MySQL DROP DATABASE
Możesz również podać 2 opcjonalne argumenty – algorithm_option i lock_option.
algorithm_option może mieć jedną z 3 wartości — default, inplace, copy. W zależności od argumentu, MySQL użyje różnych algorytmów, aby usunąć unikalne ograniczenie.
Jego składnia to
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
- domyślne – ma taki sam efekt, jak nieużywanie algorithm_option argument
- kopia – Tabela, z której należy usunąć ograniczenie, zostanie skopiowana, a indeks zostanie usunięty z tabeli kopiowania. W tym czasie jednoczesne operacje, takie jak INSERT i UPDATE, są niedozwolone.
- inplace — w tym przypadku tabela jest odbudowywana w miejscu bez ograniczeń. Chociaż ta opcja pozwala na współbieżne operacje, blokuje metadane podczas wykonywania.
W zależności od lock_option MySQL zablokuje/nie zablokuje dostępu odczytu/zapisu do Twoich tabel podczas usuwania ograniczenia. lock_option ma następującą składnię
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
Przyjmuje 4 wartości:
- default – pozwala na maksymalną współbieżność dla wybranego algorytmu. umożliwia jednoczesne odczyty i zapisy, jeśli jest obsługiwane. Jeśli nie, umożliwia tylko współbieżne odczyty. Jeśli to również nie jest obsługiwane, wymusza wyłączny dostęp.
- brak – jeśli jest obsługiwany, możesz mieć jednoczesne odczyty i zapisy. W przeciwnym razie MySQL wyświetla błąd.
- współdzielone – jeśli opcja współdzielona jest obsługiwana, możesz mieć współbieżne odczyty, ale nie współbieżne zapisy.
- wyłączny – ta opcja wymusza wyłączny dostęp
Przeczytaj bonus:KOLUMNA UPUSZCZENIA MySQL
Przykład MySQL DROP UNIQUE CONSTRAINT
Załóżmy, że masz poniższą tabelę z unikalnym ograniczeniem.
mysql> create table orders(order_id int primary key, order_date date, product varchar(255), sale int, constraint name unique (product) );
Oto zapytanie SQL, aby usunąć ograniczenie unikatowości name z tabeli zamówienia .
mysql> DROP INDEX name ON orders;
Przeczytaj bonus:MySQL DROP TABLE
Indeks klucza podstawowego MySQL DROP
Ponieważ klucz podstawowy jest również przykładem ograniczenia unikatowości w tabeli, oto składnia usuwania ograniczenia klucza podstawowego w kolejności tabel.
mysql> DROP INDEX `PRIMARY` ON orders;
W tym przypadku odwołujemy się do pola klucza głównego jako `PRIMARY` zamiast używać nazwy pola.
Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!