您在尝试修改 MySQL 中的 momento_distribution 表的主键时遇到错误。错误消息“1062 - 键 'PRIMARY' 的重复条目 '0'”表示新的主键列包含重复的值。
经检查,您发现新创建的主键列包含重复值。 id 列的所有行中的值均为“0”。由于存在重复记录,此冲突会阻止分配唯一主键。
要解决此问题,您需要确保主键列包含唯一值。最常见的方法是使列自动递增,这将为每个新行自动生成唯一值。
修改表创建:
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$$
修改现有表:
ALTER TABLE `momento_distribution` CHANGE COLUMN `id` `id` INT(11) NOT NULL AUTO_INCREMENT, DROP PRIMARY KEY, ADD PRIMARY KEY (`id`);
注意: 这假设 id 列已经存在。如果没有,您将需要使用 ALTER 语句创建它。
以上是如何修复 MySQL 错误 1062:主键重复条目'0”?的详细内容。更多信息请关注PHP中文网其他相关文章!