Ich habe große MySQL-Tabelle 'Docs' (über 3 000 000 Zeilen).
Diese Tabelle hat Spalte id
--- Primärschlüssel unsigned und did
----- unsigned.
Manchmal wurden einige Zeilen gelöscht. Aber ich brauche, dass autoincrement 1234 gehen und nicht 1479.
ich ausführen SQL-Anfrage:Fehler # 1062 Mysql Doppeleintrag für den Schlüssel primären
update docs set [email protected]:[email protected]+1 where 0 in(select @num:=0)
und Fehler # 1062 erhalten.
2 Fragen: 1. Warum habe ich einen doppelten Eintrag für den Primärschlüssel? 2. Wie kann ich sie löschen?
Willkommen bei SO. In Ihrer Tabelle sind keine doppelten Einträge vorhanden. Sie haben den Fehler falsch gelesen. Der Fehler (# 1062), den Sie erhalten, besagt, dass Ihr Aktualisierungsvorgang * zu einem doppelten Schlüssel führen würde. – yacc
Also, wie kann ich Primärschlüssel in der Tabelle aktualisieren? –
Lesen Sie hier: https://stackoverflow.com/questions/17182045/change-primary-key-id-of-a-row-in-a-table-and-shift-the-others-downwards – yacc