So entfernen Sie einen eindeutigen Schlüssel aus der MySQL-Tabelle

72

Ich muss einen eindeutigen Schlüssel aus meiner MySQL-Tabelle entfernen. Wie kann man das mit einer MySQL-Abfrage entfernen?

Ich habe es versucht, aber es funktioniert nicht

alter table tbl_quiz_attempt_master drop unique key;

Bitte hilf mir

Vielen Dank

ENTWICKELT
quelle
1
Mögliches Duplikat von Wie man in MySQL einzigartig löscht?
Teja Bhagavan Kollepara

Antworten:

118

Alle Schlüssel sind benannt, Sie sollten so etwas verwenden -

ALTER TABLE tbl_quiz_attempt_master
  DROP INDEX index_name;

Um den Primärschlüssel zu löschen, verwenden Sie diesen -

ALTER TABLE tbl_quiz_attempt_master
  DROP INDEX `PRIMARY`;

ALTER TABLE Syntax .

Devart
quelle
43

Zuerst müssen Sie den genauen Namen des INDEX kennen (in diesem Fall eindeutiger Schlüssel), um ihn zu löschen oder zu aktualisieren.
INDEX-Namen sind normalerweise dieselben wie Spaltennamen. Wenn mehr als ein INDEX auf eine Spalte angewendet wird, fügt MySQL den Spaltennamen automatisch eine Nummerierung hinzu, um eindeutige INDEX-Namen zu erstellen.

Zum Beispiel, wenn 2 Indizes auf eine Spalte mit dem Namen angewendet werdencustomer_id

  1. Der erste Index wird als sich customer_idselbst benannt.
  2. Der zweite Index sind Namen wie customer_id_2und so weiter.

Um den Namen des Index zu erfahren, den Sie löschen oder aktualisieren möchten

SHOW INDEX FROM <table_name>

wie von @Amr vorgeschlagen

So löschen Sie einen Index

ALTER TABLE <table_name> DROP INDEX <index_name>;
Narendran Parivallal
quelle
14
ALTER TABLE mytable DROP INDEX key_Name;
Uday Sawant
quelle
13

Für diejenigen, die nicht wissen, wie sie das bekommen sollen, index_namewas in Devarts Antwort erwähnt wurde oder key_namewas in Uday Sawants Antwort erwähnt wurde, können Sie es so bekommen:

SHOW INDEX FROM table_name;

Dadurch werden alle Indizes für die angegebene Tabelle angezeigt. Anschließend können Sie den Namen des Index oder den eindeutigen Schlüssel auswählen, den Sie entfernen möchten.

Amr
quelle
Ich bekomme immer noch: "Sie haben einen Fehler in Ihrer SQL-Syntax;"
Dean P
4

Es gibt zwei Methoden, um Index in MySQL zu entfernen. Erste Methode ist GUI. Bei dieser Methode müssen Sie die GUI-Schnittstelle von MYSQL öffnen und dann zu dieser Datenbank und dann zu der bestimmten Tabelle gehen, in der Sie den Index entfernen möchten.

Klicken Sie anschließend auf die Strukturoption. Anschließend sehen Sie die Tabellenstruktur und unten die Tabellenindizes. Sie können Indizes entfernen, indem Sie auf die Drop-Option klicken

Geben Sie hier die Bildbeschreibung ein

Zweite Methode von

ALTER TABLE student_login_credentials DROP INDEX created_at;

Hier ist student_login_credentials der Tabellenname und created_at der Spaltenname

Sumit Kumar Gupta
quelle
0

So fügen Sie einen eindeutigen Schlüssel hinzu:

alter table your_table add UNIQUE(target_column_name);

So entfernen Sie einen eindeutigen Schlüssel:

alter table your_table drop INDEX target_column_name;
Adolf Han
quelle