使用phpmyadmin导入SQL数据报错:#1062 - Duplicate entry '0' for key 'PRIMARY' 的解决方法
作者:我就是个世界
发表于:2011-04-21
使用phpmyadmin导入SQL数据报错:
[code]
错误
SQL 查询:
INSERT INTO `mobile`
VALUES (
'', 1300010, '北京市', '联通GSM卡'
);
MySQL 返回:
#1062 - Duplicate entry '0' for key 'PRIMARY'
[/code]
出现此错误的原因是数据的主键重复了,错误信息中显示的这条记录已经被导入了~~ [separator]
看一下我导入的数据:
[code]
--
-- 表的结构 `mobile_copy`
--
CREATE TABLE IF NOT EXISTS `mobile_copy` (
`mid` int(8) NOT NULL AUTO_INCREMENT,
`mnum` int(7) NOT NULL,
`City` char(20) DEFAULT NULL,
`MobileCard` char(50) DEFAULT NULL,
PRIMARY KEY (`mid`),
KEY `mnum` (`mnum`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- 转存表中的数据 `mobile_copy`
--
INSERT INTO `mobile_copy` VALUES ('', 1300000, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300010, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300011, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300045, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300046, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300047, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300048, '北京市', '联通GSM卡');
[/code]
因为可能由于数据的更新会手工在其中对应的位置插入单条或多条数据,所以导出来的数据经过整理后把主键的自增值清空了,便于手工插入数据。这样在使用PHPMYADMIN导入SQL数据的时候就会报以上错误,解决方法如下:
在导入数据的时候[b]导入文件的格式[/b]中不要勾选[color=#FF0000]不要给零值使用自增 (AUTO_INCREMENT)[/color],这样在导入数据的时候就会给自增主键自动添加值。当然也就不会再报错了,成功导入。
[img][attach]382[/attach][/img]
[code]
错误
SQL 查询:
INSERT INTO `mobile`
VALUES (
'', 1300010, '北京市', '联通GSM卡'
);
MySQL 返回:
#1062 - Duplicate entry '0' for key 'PRIMARY'
[/code]
出现此错误的原因是数据的主键重复了,错误信息中显示的这条记录已经被导入了~~ [separator]
看一下我导入的数据:
[code]
--
-- 表的结构 `mobile_copy`
--
CREATE TABLE IF NOT EXISTS `mobile_copy` (
`mid` int(8) NOT NULL AUTO_INCREMENT,
`mnum` int(7) NOT NULL,
`City` char(20) DEFAULT NULL,
`MobileCard` char(50) DEFAULT NULL,
PRIMARY KEY (`mid`),
KEY `mnum` (`mnum`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- 转存表中的数据 `mobile_copy`
--
INSERT INTO `mobile_copy` VALUES ('', 1300000, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300010, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300011, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300045, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300046, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300047, '北京市', '联通GSM卡');
INSERT INTO `mobile_copy` VALUES ('', 1300048, '北京市', '联通GSM卡');
[/code]
因为可能由于数据的更新会手工在其中对应的位置插入单条或多条数据,所以导出来的数据经过整理后把主键的自增值清空了,便于手工插入数据。这样在使用PHPMYADMIN导入SQL数据的时候就会报以上错误,解决方法如下:
在导入数据的时候[b]导入文件的格式[/b]中不要勾选[color=#FF0000]不要给零值使用自增 (AUTO_INCREMENT)[/color],这样在导入数据的时候就会给自增主键自动添加值。当然也就不会再报错了,成功导入。
[img][attach]382[/attach][/img]
请发表您的评论