Mysql
 sql >> Baza danych >  >> RDS >> Mysql

UNIKALNE OGRANICZENIE MYSQL

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ś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Odzyskiwanie dostępu do utraconego hasła MySQL dla PHPMyAdmin na WAMP

  2. Wartość strefy czasowej serwera „AEST” jest nierozpoznana lub reprezentuje więcej niż jedną strefę czasową

  3. Jak uzyskać rok i miesiąc z daty w MySQL?

  4. Jak utworzyć użytkownika w MySQL

  5. Zapytanie o wycofanie MySQL