So ändern Sie den Fremdschlüssel einer MySQL-Tabelle mithilfe der Befehlszeile

8

Wie ändere ich eine vorhandene Tabelle in MySQL, indem ich den Fremdschlüssel über die Befehlszeile in eine andere Tabelle setze?

    
el ninho 17.06.2012, 18:20
quelle

4 Antworten

16

Sie müssen die vorhandene foreign key löschen und eine neue erstellen. Zum Beispiel so:

%Vor%     
WojtekT 17.06.2012 18:24
quelle
2

Wenn Sie mehrere Fremdschlüssel miteinander verkettet haben und ein Fehler auftritt, der mit errorno 15x endet, bedeutet dies höchstwahrscheinlich, dass weitere Tabellen vom Fremdschlüssel abhängig sind, den Sie löschen möchten.

Um den Fremdschlüssel zu löschen, wenn Sie diesen Fehler erhalten, müssen Sie SET FOREIGN_KEY_CHECKS = 0; ausführen und dann müssen Sie zuerst die Fremdschlüssel für die Tabellen löschen, von denen keine anderen Tabellen abhängig sind. Sie können dann die Fremdschlüssel in der nächsten Tabelle in der Kette usw. erfolgreich löschen.

Wenn Sie fertig sind, stellen Sie sicher, dass Sie SET FOREIGN_KEY_CHECKS = 1; erneut ausführen.

    
Alex W 03.09.2014 13:51
quelle
2

Führt help alter table at mysql Eingabeaufforderung aus und die Ausgabe ist sehr selbsterklärend.
Suchen Sie nach add constraint mit foreign key -Klausel und wenden Sie sie auf Ihre Tabelle an.

%Vor%     
Ravinder Reddy 17.06.2012 18:26
quelle
2

Ich konnte dasselbe erreichen durch:

%Vor%     
sokoya_philip 03.08.2014 12:40
quelle

Tags und Links