MySQL Fehler beim Löschen des Index (errno 150)

8

Ich habe Probleme mit dem Löschen des Fremdschlüssel-Index, ich bekomme immer den gleichen Fehler

%Vor%

welche Ausgaben

%Vor%

Die id_user in der anderen Tabelle ist ein einfacher Primärschlüsselindex.

Ich benutze MySQL Version 5.0.85

    
Jakub Arnold 20.09.2009, 13:43
quelle

4 Antworten

2

Nach diesem Link , Der Fehler bezieht sich auf die Definition des Primärschlüsselfeldes. Der Fehler betrifft nicht den Fremdschlüsselindex.

Überprüfen Sie den Primärschlüssel für die Tabelle COMMENTS , um sicherzustellen, dass er das Schlüsselwort UNSIGNED nicht enthält, während der Fremdschlüssel COMMENTS.id_user das Schlüsselwort UNSIGNED hat. Dieses Schlüsselwort verursachte das Problem - inkonsistenter Feldtyp.

Fügen Sie zur Behebung das Schlüsselwort UNSIGNED zur Primärschlüsseldefinition für die Tabelle COMMENTS hinzu. Oder entfernen Sie das Schlüsselwort UNSIGNED aus der Fremdschlüsseldefinition ...

    
OMG Ponies 20.09.2009, 16:28
quelle
12

Es gibt noch andere Ursachen. Zum Beispiel hatte ich einen eindeutigen Index mit zwei separaten Fremdschlüsselspalten. Ich musste die fraglichen Fremdschlüssel fallen lassen, bevor ich den eindeutigen Index fallen lassen konnte. (Und natürlich können Sie die Fremdschlüssel nachträglich hinzufügen.)

    
Willie Wheeler 24.01.2011 08:50
quelle
5

INNODB: Das könnte so einfach sein wie das Entfernen der Relation vor dem Löschen des Index.

    
sglessard 28.08.2012 19:27
quelle
1

Der Index ist für einen Fremdschlüssel in 'Benutzer' Tabelle, also Versuchen Sie zuerst diesen Befehl:

%Vor%

Suchen Sie den Namen der Einschränkung, die dem Index für den Fremdschlüssel entspricht,

und danach den Befehl:

%Vor%

WARNUNG: Wenn Sie versuchen, den Fremdschlüssel mit dem Fremdschlüsselnamen zu löschen, erhalten Sie einen Fehler bei!

    
Etienne 23.09.2015 18:50
quelle

Tags und Links