Heim > Datenbank > MySQL-Tutorial > Wie entferne ich zusammengesetzte Primärschlüssel in MySQL und behalte dabei eine Spalte mit automatischer Inkrementierung bei?

Wie entferne ich zusammengesetzte Primärschlüssel in MySQL und behalte dabei eine Spalte mit automatischer Inkrementierung bei?

Susan Sarandon
Freigeben: 2024-12-31 03:28:10
Original
388 Leute haben es durchsucht

How to Remove Composite Primary Keys in MySQL While Keeping an Auto-Increment Column?

Primärschlüssel aus mehreren Spalten in MySQL entfernen

Frage:

Wie kann ich die Primärschlüssel aus user_customer_id und entfernen? Erlaubnis_ID, während der Primärschlüssel für die ID in der Tabelle „user_customer_permission“ beibehalten wird, obwohl bei der Verwendung der „Alter-Tabelle“ ein Fehler aufgetreten ist user_customer_permission drop Primary Key“-Befehl?

Erklärung:

MySQL erfordert, dass eine Autoinkrementierungsspalte Teil des Index ganz links ist. In diesem Fall wird die ID-Spalte automatisch inkrementiert, sodass das Entfernen des Primärschlüssels aus der ID gegen diese Anforderung verstoßen würde.

Lösung:

Um die Primärschlüssel erfolgreich aus user_customer_id zu entfernen und Erlaubnis_ID, folgen Sie diesen Schritten:

  1. Entfernen Sie die Autoincrement-Eigenschaft aus der ID Spalte:

    ALTER TABLE user_customer_permission MODIFY id INT NOT NULL;
    Nach dem Login kopieren
  2. Lassen Sie den Primärschlüssel fallen:

    ALTER TABLE user_customer_permission DROP PRIMARY KEY;
    Nach dem Login kopieren

Hinweis: Es ist wichtig, das zu beachten Die Tabelle hatte zuvor einen zusammengesetzten PRIMÄRSCHLÜSSEL, der alle drei Spalten abdeckte (id, user_customer_id, freedom_id). Um die Eindeutigkeit der ID-Spalte sicherzustellen, können Sie sie mit Autoincrement wieder zum Primärschlüssel machen:

ALTER TABLE user_customer_permission MODIFY id INT NOT NULL PRIMARY KEY AUTO_INCREMENT;
Nach dem Login kopieren

Durch Befolgen dieser Schritte können Sie die Primärschlüssel erfolgreich aus user_customer_id undmission_id entfernen und dabei den Primärschlüssel beibehalten für id.

Das obige ist der detaillierte Inhalt vonWie entferne ich zusammengesetzte Primärschlüssel in MySQL und behalte dabei eine Spalte mit automatischer Inkrementierung bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage