MySQL-Fehler 1062: Primärschlüsselduplikation „0“
Beim Ändern der Momento_Distribution-Tabelle ist ein Problem aufgetreten und Sie erhalten die Fehlermeldung „ 1062 – Doppelter Eintrag „0“ für Schlüssel „PRIMARY“. Dies könnte auf ein Problem mit den Daten in der Tabelle hinweisen.
Der Primärschlüssel, wie in Ihrer ursprünglichen Tabellenstruktur definiert, war eine Kombination aus den Spalten momento_id und momento_idmember. Nachdem Sie jedoch eine neue ID-Spalte hinzugefügt und als Primärschlüssel festgelegt haben, sind Sie auf Duplikate in dieser Spalte gestoßen, insbesondere auf den Wert „0“.
Um dieses Problem zu beheben, können Sie versuchen, die ID-Spalte anzugeben als automatische Inkrementierung in der Tabellendefinition, wie unten gezeigt:
CREATE TABLE `momento_distribution` ( `momento_id` INT(11) NOT NULL, `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, `id` INT(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`), -- New primary key KEY `momento_distribution_FI_2` (`momento_idmember`), KEY `accepted` (`accepted`, `ext_member`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Alternativ können Sie, wenn Sie die ID-Spalte bereits erstellt haben, sie mithilfe von auf automatische Inkrementierung ändern Folgende Abfrage:
ALTER TABLE `momento_distribution` CHANGE COLUMN `id` `id` INT(11) NOT NULL AUTO_INCREMENT, DROP PRIMARY KEY, ADD PRIMARY KEY (`id`); -- New primary key
Durch die Angabe der ID-Spalte als automatische Inkrementierung stellen Sie sicher, dass jede Zeile einen eindeutigen Wert für diese Spalte hat, wodurch das Problem der doppelten „0“ vermieden wird. Dadurch können Sie die Tabellenstruktur ändern und die ID-Spalte als Primärschlüssel zuweisen, ohne Daten zu verlieren.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich MySQL-Fehler 1062: Doppelter Eintrag „0' für Schlüssel „PRIMARY', wenn ich meine Tabelle ändere?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!