Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann die automatische Inkrementierung beim Ändern des Primärschlüssels in MySQL beibehalten werden?

Linda Hamilton
Freigeben: 2024-10-30 00:10:02
Original
664 Leute haben es durchsucht

How to Maintain Auto-Increment While Changing  Primary Key in MySQL?

Aufrechterhaltung der automatischen Inkrementierung beim Ändern des Primärschlüssels in Memberid

In MySQL erfordert das Erstellen einer Tabelle mit einer automatisch inkrementierenden Spalte dies ebenfalls als Primärschlüssel bezeichnet werden. In Fällen, in denen der Primärschlüssel jedoch ein anderes Feld sein muss, kann bei Benutzern der Fehler „#1075 – Falsche Tabellendefinition“ auftreten.

Um dieses Problem zu beheben, ist es möglich, die automatisch inkrementierende Spalte beizubehalten (id) und dabei die Member-ID zum Primärschlüssel machen. Dies kann erreicht werden, indem ein Index (Schlüssel) für die ID-Spalte erstellt wird:

CREATE TABLE members (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `memberid` VARCHAR(30) NOT NULL,
  `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `firstname` VARCHAR(50) NULL,
  `lastname` VARCHAR(50) NULL,
  PRIMARY KEY (`memberid`),
  KEY (`id`)
);
Nach dem Login kopieren

Diese Lösung stellt sicher, dass die Leistung der Tabelle für sequentielle Einfügungen und Aktualisierungen optimiert bleibt, da die ID-Spalte weiterhin automatisch inkrementiert wird . Mittlerweile können Abfragen Benutzer effizient anhand ihrer Mitglieds-ID identifizieren.

Durch das Hinzufügen eines Index zur ID-Spalte kann MySQL mithilfe dieses Felds schnell Zeilen finden, auch wenn es nicht der Primärschlüssel ist. Es ist jedoch wichtig zu beachten, dass die Leistung im Vergleich zur direkten Verwendung der ID-Spalte als Primärschlüssel möglicherweise etwas langsamer ist.

Dieser Ansatz ermöglicht Flexibilität beim Datenbankdesign bei gleichzeitiger Beibehaltung einer guten Leistung, wobei minimaler Speicherplatz für eine erhöhte Benutzerfreundlichkeit geopfert wird Abfrageoptimierung.

Das obige ist der detaillierte Inhalt vonWie kann die automatische Inkrementierung beim Ändern des Primärschlüssels in MySQL beibehalten werden?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!