我读过许多人声称有这个问题的条目,他们已经解决了他们的问题,但他们的答案都没有解决我的问题。我使用phpMyAdmin更新用户的电子邮件地址。 “user_email”字段标记为UNIQUE
。每当我将电子邮件地址更新为他的实际电子邮件时,我都会:
Duplicate entry 'user@example.com' for key 'user_email'
我对表进行了分析,优化和修复,没有出现任何错误 - 一切正常。
我已经运行了几个SQL语句来查找任何重复项,但发现它们不存在。
我甚至导出了表并再次导入了记录。我添加索引并尝试更新...重复的条目消息。这是表结构:
CREATE TABLE IF NOT EXISTS `users` (
`id` bigint(20) NOT NULL,
`md5_id` varchar(200) NOT NULL DEFAULT '',
`full_name` tinytext,
`user_name` varchar(200) DEFAULT NULL,
`user_email` varchar(220) DEFAULT NULL,
`user_level` tinyint(4) NOT NULL DEFAULT '1',
`pwd` varchar(220) NOT NULL DEFAULT '',
`address` text COLLATE latin1_general_ci,
`country` varchar(200) DEFAULT NULL,
`tel` varchar(200) NOT NULL DEFAULT '',
`fax` varchar(200) DEFAULT NULL,
`website` text,
`date` date NOT NULL DEFAULT '0000-00-00',
`users_ip` varchar(200) NOT NULL DEFAULT '',
`approved` int(1) NOT NULL DEFAULT '0',
`activation_code` int(10) NOT NULL DEFAULT '0',
`banned` int(1) NOT NULL DEFAULT '0',
`ckey` varchar(220) NOT NULL DEFAULT '',
`ctime` varchar(220) NOT NULL DEFAULT '',
`location` tinyint(4) NOT NULL DEFAULT '9'
) ENGINE=MyISAM AUTO_INCREMENT=210 DEFAULT CHARSET=latin1;
ALTER TABLE `users` ADD PRIMARY KEY (`id`);
MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=210;
即使现在我已从'user_email'字段中 REMOVED UNIQUE
索引,但错误仍然存在。我真的不明白(可能残留的东西......?我只是在猜测)。
想象一下我手上的头发。有人可以帮忙吗?
更新