Heim >Datenbank >MySQL-Tutorial >Wie behebt man den MySQL-Fehler 1062: Doppelter Eintrag „0' für Primärschlüssel?
Beim Versuch, den Primärschlüssel der Tabelle momento_distribution in MySQL zu ändern, ist ein Fehler aufgetreten. Die Fehlermeldung „1062 – Doppelter Eintrag ‚0‘ für Schlüssel ‚PRIMARY‘“ weist darauf hin, dass die neue Primärschlüsselspalte doppelte Werte enthält.
Bei der Untersuchung haben Sie festgestellt, dass die neu erstellte Die ID-Spalte hat in allen Zeilen den Wert „0“. Dieser Konflikt verhindert die Zuweisung eines eindeutigen Primärschlüssels aufgrund des Vorhandenseins doppelter Datensätze.
Um dieses Problem zu beheben, müssen Sie sicherstellen, dass die Primärschlüsselspalte eindeutige Werte enthält. Der gebräuchlichste Ansatz besteht darin, die Spalte automatisch zu erhöhen, wodurch automatisch eindeutige Werte für jede neue Zeile generiert werden.
Tabellenerstellung ändern:
CREATE TABLE `momento_distribution` ( `momento_id` INT(11) NOT NULL AUTO_INCREMENT, `momento_idmember` INT(11) NOT NULL, `created_at` DATETIME DEFAULT NULL, `updated_at` DATETIME DEFAULT NULL, `unread` TINYINT(1) DEFAULT '1', `accepted` VARCHAR(10) NOT NULL DEFAULT 'pending', `ext_member` VARCHAR(255) DEFAULT NULL, PRIMARY KEY (`momento_id`, `momento_idmember`), KEY `momento_distribution_FI_2` (`momento_idmember`), KEY `accepted` (`accepted`, `ext_member`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1$$
Vorhandene Tabelle ändern:
ALTER TABLE `momento_distribution` CHANGE COLUMN `id` `id` INT(11) NOT NULL AUTO_INCREMENT, DROP PRIMARY KEY, ADD PRIMARY KEY (`id`);
Hinweis: Dies geht davon aus, dass die ID-Spalte bereits vorhanden ist. Ist dies nicht der Fall, müssen Sie es mit der ALTER-Anweisung erstellen.
Das obige ist der detaillierte Inhalt vonWie behebt man den MySQL-Fehler 1062: Doppelter Eintrag „0' für Primärschlüssel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!