Heim >Datenbank >MySQL-Tutorial >Was soll ich tun, wenn MySQL keine automatisch inkrementierten IDs mehr hat?
Was soll ich tun, wenn MySQL keine automatisch inkrementierten IDs mehr hat?
Es gibt viele Arten von Auto-Inkrement-IDs in MySQL. Für jede Auto-Inkrement-ID ist ein Anfangswert festgelegt, der dann entsprechend einer bestimmten Schrittgröße erhöht wird, solange die Bytelänge definiert ist Wenn die Obergrenze erreicht und erneut hinzugefügt wird, wird ein Primärschlüsselkonfliktfehler gemeldet. Als Lösung sollten Sie die Verwendung des Typs „bigint unsigned“ in Betracht ziehen.
Test
Die durch die Datentabelle definierte Auto-Inkrement-ID, wenn die Obergrenze erreicht ist.
Bei der Beantragung des nächsten Ausweises bleibt der erhaltene Wert unverändert.
Wir können es anhand des folgenden Beispiels überprüfen:
create table `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4294967295; insert into `test` values (null);
An diesem Ergebnis können Sie erkennen, dass der ID-Wert immer noch 4294967295 ist, wenn Daten zum ersten Mal eingefügt werden
Wenn Daten zweimal eingefügt werden, wird ein Primärschlüsselkonfliktfehler gemeldet.
Dies bedeutet, dass sich der ID-Wert nicht mehr ändert, nachdem er die Obergrenze erreicht hat.
Empfohlenes Tutorial: „MySQL-Tutorial“
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn MySQL keine automatisch inkrementierten IDs mehr hat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!