Najpierw użyj, SHOW INDEX FROM tbl_nameaby znaleźć nazwę indeksu. Nazwa indeksu jest przechowywana w kolumnie o nazwiekey_name w wynikach tego zapytania.
Przepraszam, że próbowałem, zanim zadałem pytanie, ale to nie działa
Ankur Mukherjee
@Ankur Mukherjee: Zapomniałem wspomnieć: Musisz zmienić nazwę tbl_name i nazwa_indeksu odpowiednio na nazwę twojej aktualnej tabeli i nazwę faktycznego indeksu. Możesz zobaczyć nazwy w MySQL Query Browser. Możesz też zrobić SHOW CREATE TABLE tbl_name.
Mark Byers
Komunikat o błędzie: „Wystąpił błąd w składni SQL; sprawdź w instrukcji, która odpowiada wersji serwera MySQL, czy jest odpowiednia składnia do użycia w pobliżu„ (identyfikator_gracza, rok, turniej) ”w wierszu 1”
Ankur Mukherjee
1
@Ankur Mukherjee: Moim zdaniem sposób, który zasugerowałem, jest najlepszym sposobem na zrobienie tego.
Mark Byers
1
Czytałem gdzieś w pytaniu za pomocą phpMyAdmin ... Odpowiedź udzielona przez @systemovich powinna być oznaczona jako zaakceptowana.
Pere
123
Możesz użyć DROPunikalnego ograniczenia z tabeli używając phpMyAdmin zgodnie z żądaniem, jak pokazano w poniższej tabeli. Unikalne ograniczenie zostało nałożone na pole Wingspan. W tym przypadku nazwa ograniczenia jest taka sama jak nazwa pola.
Należy zauważyć, że sekcja indeksów jest domyślnie zwinięta i jest rozwinięta małym, subtelnym linkiem czcionką 12px, w której sekcja znajduje się na zrzucie ekranu. Ale dzięki tobie znalazłem to. Pobłogosław swoją twarz. +1
Jack
11
Indeksy umożliwiające umieszczenie unique kluczy na stole są PRIMARYi UNIQUEindeksy.
Aby usunąć unikalne ograniczenie klucza w kolumnie, ale zachować indeks, można usunąć i ponownie utworzyć indeks z typem INDEX.
Pamiętaj, że dobrym pomysłem jest, aby wszystkie tabele były oznaczone indeksem PRIMARY.
Pozytywnie oceniany, ponieważ @thomasrutter poruszył fakt, że usunięcie unikalnego ograniczenia może negatywnie wpłynąć na wydajność zapytania - i można to złagodzić, zastępując UNIQUEindeks normalnym INDEX.
Alex
4
Aby dodać ograniczenie UNIQUE za pomocą phpmyadmin, przejdź do struktury tej tabeli, znajdź poniżej i kliknij ją,
Aby usunąć ograniczenie UNIKALNE, w ten sam sposób przejdź do struktury i przewiń w dół do Tabeli indeksów, znajdź poniżej i kliknij upuść,
Począwszy od MySQL 8.0.19, ALTER TABLE zezwala na bardziej ogólną (i standard SQL) składnię na usuwanie i modyfikowanie istniejących ograniczeń dowolnego typu, gdzie typ ograniczenia jest określany na podstawie nazwy ograniczenia: ALTER TABLE tbl_name DROP CONSTRAINT symbol;
Przykład:
CREATETABLE tab(id INT,CONSTRAINT unq_tab_id UNIQUE(id));-- checking constraint name if autogeneratedSELECT*FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME ='tab';-- dropping constraintALTERTABLE tab DROPCONSTRAINT unq_tab_id;
Odpowiedzi:
Unikalnym ograniczeniem jest również indeks.
Najpierw użyj,
SHOW INDEX FROM tbl_name
aby znaleźć nazwę indeksu. Nazwa indeksu jest przechowywana w kolumnie o nazwiekey_name
w wynikach tego zapytania.Następnie możesz użyć DROP INDEX :
lub składnia ALTER TABLE :
źródło
SHOW CREATE TABLE tbl_name
.Możesz użyć
DROP
unikalnego ograniczenia z tabeli używając phpMyAdmin zgodnie z żądaniem, jak pokazano w poniższej tabeli. Unikalne ograniczenie zostało nałożone na pole Wingspan. W tym przypadku nazwa ograniczenia jest taka sama jak nazwa pola.źródło
Indeksy umożliwiające umieszczenie unique kluczy na stole są
PRIMARY
iUNIQUE
indeksy.Aby usunąć unikalne ograniczenie klucza w kolumnie, ale zachować indeks, można usunąć i ponownie utworzyć indeks z typem
INDEX
.Pamiętaj, że dobrym pomysłem jest, aby wszystkie tabele były oznaczone indeksem
PRIMARY
.źródło
UNIQUE
indeks normalnymINDEX
.Aby dodać ograniczenie UNIQUE za pomocą phpmyadmin, przejdź do struktury tej tabeli, znajdź poniżej i kliknij ją,
Aby usunąć ograniczenie UNIKALNE, w ten sam sposób przejdź do struktury i przewiń w dół do Tabeli indeksów, znajdź poniżej i kliknij upuść,
Mam nadzieję, że to zadziała.
Cieszyć się ;)
źródło
W WAMP 3.0: Kliknij strukturę poniżej Dodaj 1 kolumnę, zobaczysz „- Indeksy” Kliknij - Indeksy i upuść dowolny indeks.
źródło
Jeśli chcesz usunąć unikalne ograniczenia z tabeli bazy danych mysql, użyj tabeli zmian z indeksem upuszczania.
Przykład:
utwórz tabelę unikalne ograniczenia (unid int, nazwa_działania varchar (100), CONSTRAINT activty_uqniue UNIQUE (nazwa_działania), klucz podstawowy (unid));
Gdzie activty_uqniue jest UNIQUE dla ACTIVITY_NAME kolumnie.
źródło
upuszczając unikalny klucz używamy indeksu
źródło
Ograniczenie można usunąć składnią:
Przykład:
db <> demo skrzypiec
źródło
nazwa mojej tabeli to kupujący, która ma unikalną kolumnę ograniczeń emp_id teraz iam zamierzam upuścić emp_id
krok 1: exec sp_helpindex kupujący, zobacz plik obrazu
krok 2: skopiuj adres indeksu
krok 3: zmień ograniczenie upuszczania nabywców tabeli [UQ__buyers__1299A860D9793F2E] zmień upuszczenie kupujących tabelę emp_id
Uwaga:
zamiast kupujących zmień go na nazwę swojego stołu :)
oznacza to, że cała nazwa kolumny emp_id z ograniczeniami została usunięta!
źródło
Najpierw usuń tabelę
przejdź do SQL
Użyj tego kodu:
źródło