Dies ist ein Problem, das mir bekannt ist, aber ich wäre fast in die Falle getappt (ich hätte es fast vergessen, aber zum Glück fiel es mir ein, als ich die Online-Punkte sortierte, bevor ich online ging), deshalb habe ich es hier speziell aufgezeichnet Warum die Auto-Inkrement-ID aktualisieren?Ich musste aufgrund historischer Geschäftsprobleme eine Reihe von IDs aktualisieren und um Konflikte zu vermeiden, musste ich die IDs für die Aktualisierung mehrmals erweitern. Da die Datenmenge in meiner Tabelle nicht groß ist, handelt es sich um eine Situation mit vielen Lese- und wenigen Schreibvorgängen, also habe ich sie einfach um 1000 erweitert. Frage Wenn wir in MySQL den Autoinkrement-Primärschlüssel auf einen größeren Wert aktualisieren (z. B. der Maximalwert der Autoinkrement-ID ist 1000 und Sie aktualisieren den Datensatz mit ID = 49 auf ID = 1049), ändert MySQL den Autoinkrement-Wert der Tabelle nicht auf den aktualisierten Wert. In einigen Fällen, z. B. nach DDL, Neustart usw., beginnt das Unternehmen, Fehler zu melden. Wenn Sie zu diesem Zeitpunkt den aktuellen Vorgang nicht kennen, denken Sie möglicherweise fälschlicherweise, dass es sich um ein Problem mit dem aktuellen Geschäftsvorgang handelt. Tatsächlich liegt es an der durch die Aktualisierungs-ID vergrabenen Grube (Primärschlüsselkonflikt). Abbildung 1: Originaldaten vor dem Update Update-Anweisung ausführen Testsatz-ID aktualisieren = 10, wobei ID = 2; Abbildung 2: Aktualisierte Daten Führen Sie eine neue Insert-Anweisung aus Test(name)werte einfügen ('dddd') Abbildung 3: Neue Daten eingefügt Ich glaube, jeder hat das Problem zu diesem Zeitpunkt gesehen. Zu Beginn nach dem Update gibt es möglicherweise kein Problem, aber wenn die selbstinkrementierende ID den von Ihnen aktualisierten Maximalwert erreicht, ist ein ID-Konflikt unvermeidlich. . . Wie man es löst 1. Wenn es sich um eine persönliche Testbibliothek handelt, ist dies nicht wichtig. Sie können die Datenbank neu starten Testwerte (ID, Name) einfügen (20, 'eeee'); Nach dem Betrieb, wie in der Abbildung dargestellt: Führen Sie die folgende SQL-Anweisung aus und vergleichen Sie die Ergebnisse Testwerte (Name) einfügen ('ffff'); An diesem Punkt hat die Auto-Inkrement-ID begonnen, vom Maximalwert aus anzusteigen. Nachdem ich nach Informationen gesucht hatte, stellte ich fest, dass dieser Fehler bereits 2005 auftrat, jedoch aufgrund der Leistung und einiger Szenarien nicht behoben wurde. In MySQL 8.0.11 tritt dieses Problem normal auf. Dies ist das Ende dieses Artikels über die Probleme, die beim Aktualisieren der automatisch inkrementierten Primärschlüssel-ID durch MySQL auftreten. Weitere relevante Inhalte zum Aktualisieren der automatisch inkrementierten Primärschlüssel-ID durch MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: HTML-Tabelle_Powernode Java Academy
>>: CSS Transition erweitert und reduziert Elemente durch Ändern der Höhe
1. Grundlegende Verwendung <!DOCTYPE html> ...
Inhaltsverzeichnis Ref und Reaktiv Referenz Reakt...
Inhaltsverzeichnis 1. Umsetzung 2. Probleme 3. Üb...
Inhaltsverzeichnis 1. Gemeinsame Funktionen höher...
Physisch gesehen besteht eine InnoDB-Tabelle aus ...
Inhaltsverzeichnis 1. charAt Grammatik Parameter ...
Erste Methode : CSS Code: Code kopieren Der Code l...
Enctype: Gibt den Kodierungstyp an, der vom Browse...
1. Offizielle OpenSSL-Website Offizielle Download...
1. DNS-Server-Konzept Die Kommunikation im Intern...
CSS3-Hintergrundbild bezogen Kompatibilität: IE9+...
Code kopieren Der Code lautet wie folgt: <span...
Vorwort Durch das Erstellen von Verknüpfungen in ...
Meta-Tag-Funktion Der META-Tag ist ein Schlüsselt...
Finden Sie das Problem Als ich heute bei der Arbe...