Zum Bearbeiten einer MySQL-Tabelle, foreign key über die Kommandozeile
Wie ändern Sie eine vorhandene Tabelle in MySQL, die Einstellung, die Fremdschlüssel zu einer anderen Tabelle über die Befehlszeile?
- Ich habe versucht, die Verwendung von google, und es hat nichts gefunden, das deckt genau diesem Fall. Ich weiß, es zu tun in der MySQL-Administrator oder create table mit foreign key, aber ich weiß nicht, diese in der genannten Frage.
- Bitte beachten Sie, finden Sie die Produktdokumentation in Google mit
mysql 5.7 alter table
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie zum löschen vorhandener
foreign key
und anderes erstellen. Zum Beispiel so:ALTER TABLE my_table DROP ..., ADD ...
ich bekam eine Fehlermeldung, errno: 121 "Doppelter Schlüssel auf schreiben oder aktualisieren". Bin ich etwas fehlt, oder ist es tatsächlich unmöglich, zu kombinieren diese Abfragen?Ausführen
help alter table
beimysql
Eingabeaufforderung, und der Ausgang ist sehr viel selbsterklärend.Suchen
add constraint
mitforeign key
- Klausel und wenden Sie es auf Ihrem Tisch.War ich in der Lage, das gleiche zu erreichen durch :
Wenn Sie mehrere Fremdschlüssel miteinander verkettet, und Sie erhalten die Fehlermeldung, dass endet mit
errorno 15x
es bedeutet höchstwahrscheinlich, dass es andere Tabellen, die abhängig sind, auf die die foreign key -, dass Sie versuchen zu fallen.Drop foreign key, wenn Sie, dass Fehler, die Sie tun müssen, wird
SET FOREIGN_KEY_CHECKS = 0;
und dann müssen Sie die ersten Tropfen, die Fremdschlüssel auf die Tabellen, die nicht mit anderen Tabellen abhängig sind. Sie können dann erfolgreich ablegen, die Fremdschlüssel auf die nächste Tabelle in der Kette und so weiter.Wenn Sie fertig sind, stellen Sie sicher, dass
SET FOREIGN_KEY_CHECKS = 1;
wieder.