内容正在载入中,请稍后……
公告
About me
搜索
统计
其他
21 Apr.2011
使用phpmyadmin导入SQL数据报错:

错误
SQL 查询:
INSERT INTO  `mobile`
VALUES (

'', 1300010,  '北京市',  '联通GSM卡'
);
MySQL 返回:
#1062 - Duplicate entry '0' for key 'PRIMARY'

出现此错误的原因是数据的主键重复了,错误信息中显示的这条记录已经被导入了~~

看一下我导入的数据:

--
-- 表的结构 `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卡');


因为可能由于数据的更新会手工在其中对应的位置插入单条或多条数据,所以导出来的数据经过整理后把主键的自增值清空了,便于手工插入数据。这样在使用PHPMYADMIN导入SQL数据的时候就会报以上错误,解决方法如下:

在导入数据的时候导入文件的格式中不要勾选不要给零值使用自增 (AUTO_INCREMENT),这样在导入数据的时候就会给自增主键自动添加值。当然也就不会再报错了,成功导入。
Highslide JS
分享到QQ空间
发表评论
  昵称 [注册]
  密码 (游客无需密码)
  网址
  电邮
OpenID登入 权限选项 表情