Create Table: CREATE TABLE `fuinfo` (
`fid` int(10) unsigned NOT NULL,
`name` varchar(40) NOT NULL,
`email` varchar(128) NOT NULL,
UNIQUE KEY `email` (`email`),
UNIQUE KEY `fid` (`fid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
Ich möchte den eindeutigen Schlüssel ablegen email
, wie?
email
Spalte vorhanden ist (Fehler 150). Damit dies funktioniert, löschen Sie zuerst den Fremdschlüssel, dann den Index und erstellen Sie anschließend den Fremdschlüssel neu. zB ALTER TABLE fuinfo DROP Fremdschlüssel fk_name_for_email;Es gibt einen besseren Weg, bei dem Sie die Tabelle nicht ändern müssen:
Dabei ist E-Mail der Name des eindeutigen Schlüssels (Index).
Sie können es auch so zurückbringen:
Dabei ist E-Mail nach IDEX der Name des Index und nicht optional. Sie können KEY anstelle von INDEX verwenden.
Es ist auch möglich, mehrspaltige eindeutige Unabhängigkeiten wie diese zu erstellen (zu entfernen):
Wenn Sie den Namen des mehrspaltigen Index nicht angegeben haben, können Sie ihn folgendermaßen entfernen:
Dabei ist E-Mail der Spaltenname.
quelle
mysql> DROP INDEX email ON fuinfo;
Dabei ist E-Mail der eindeutige Schlüssel (anstelle des Spaltennamens). Den Namen des eindeutigen Schlüssels finden Sie unter
Hier sehen Sie den Namen des eindeutigen Schlüssels, der beispielsweise email_2 sein kann. So...
Dies sollte zeigen, dass der Index entfernt wurde
quelle
Verwenden Sie die folgende Abfrage:
Wenn Sie den Schlüsselnamen nicht kennen, versuchen Sie es zuerst mit der folgenden Abfrage. Sie können den Schlüsselnamen abrufen.
ODER
Wenn Sie den Primärschlüssel aus der MySQL-Tabelle entfernen / löschen möchten, verwenden Sie dazu die folgende Abfrage
Code entnommen aus: http://chandreshrana.blogspot.in/2015/10/how-to-remove-unique-key-from-mysql.html
quelle
DROP INDEX
column_name
ON TabellennameWählen Sie die Datenbank und die Abfrage auf der Registerkarte "SQL" aus. Dadurch wird der Index der jeweiligen Spalte entfernt. Es hat bei mir in PHP MyADMIN funktioniert
quelle
Dies kann anderen helfen
quelle
Für MySQL 5.7.11
Schritt 1: Holen Sie sich zuerst den eindeutigen Schlüssel
Verwenden Sie diese Abfrage, um es zu erhalten:
1.1) SHOW CREATE TABLE Benutzer;
Im letzten wird es so sein:
..... .....
..... .....
EINZIGARTIGER SCHLÜSSEL
UK_8bv559q1gobqoulqpitq0gvr6
(phoneNum
)..... .....
....
Schritt 2: Entfernen Sie den eindeutigen Schlüssel durch diese Abfrage.
ALTER TABLE Benutzer DROP INDEX UK_8bv559q1gobqoulqpitq0gvr6;
Schritt 3: Überprüfen Sie die Tabelleninformationen anhand dieser Abfrage:
DESC-Benutzer;
Dies sollte zeigen, dass der Index entfernt wurde
Das ist alles.
quelle
quelle
Versuchen Sie es, um uique einer Spalte zu entfernen:
Führen Sie diesen Code in phpmyadmin aus und entfernen Sie die eindeutige Spalte
quelle
das wird funktionieren.
quelle