Heim  >  Artikel  >  Datenbank  >  Wie lösche ich Fremdschlüssel in MySQL ohne Fehler?

Wie lösche ich Fremdschlüssel in MySQL ohne Fehler?

DDD
DDDOriginal
2024-11-12 17:36:02365Durchsuche

How Do I Drop Foreign Keys in MySQL Without Errors?

Fremdschlüssel in MySQL löschen

Beim Versuch, Tabellen mit Fremdschlüsseleinschränkungen zu ändern, können Benutzer auf Fehler stoßen, die das Entfernen bestimmter Fremdschlüssel verhindern . Dieses Problem tritt auf, wenn der Indexname anstelle des Einschränkungsnamens in der DROP FOREIGN KEY-Anweisung verwendet wird.

Betrachten Sie das folgende Beispiel:

CREATE TABLE location (
   locationID INT NOT NULL AUTO_INCREMENT PRIMARY KEY
   ...
) ENGINE = InnoDB;

CREATE TABLE assignment (
   assignmentID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   locationID INT NOT NULL,
   FOREIGN KEY locationIDX (locationID) REFERENCES location (locationID)
   ...
) ENGINE = InnoDB;

CREATE TABLE assignmentStuff (
   ...
   assignmentID INT NOT NULL,
   FOREIGN KEY assignmentIDX (assignmentID) REFERENCES assignment (assignmentID)
) ENGINE = InnoDB;

So löschen Sie den locationIDX-Fremdschlüssel aus der Zuweisungstabelle , die korrekte Syntax lautet:

ALTER TABLE assignment DROP FOREIGN KEY locationIDXconstraint;

Hinweis: Die locationIDXconstraint muss sein durch den tatsächlichen Einschränkungsnamen ersetzt.

Durch die Angabe des Einschränkungsnamens anstelle des Indexnamens kann die Fremdschlüsseleinschränkung erfolgreich entfernt werden, ohne dass Fehler auftreten.

Das obige ist der detaillierte Inhalt vonWie lösche ich Fremdschlüssel in MySQL ohne Fehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn