为什么这个转储在导入时失败?

时间:2011-04-26 21:01:24

标签: mysql

这是我的数据表:

CREATE TABLE IF NOT EXISTS `categories` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `user` varchar(255) NOT NULL,
  `date` datetime NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;

--
-- Dump dei dati per la tabella `categories`
--

INSERT INTO `categories` (`id`, `name`, `user`, `date`) VALUES(1, 'K-Bal Sound System', 'djfonplaz', '0000-00-00 00:00:00');
INSERT INTO `categories` (`id`, `name`, `user`, `date`) VALUES(2, 'Network23 Mixtapes', 'djfonplaz', '0000-00-00 00:00:00');
INSERT INTO `categories` (`id`, `name`, `user`, `date`) VALUES(3, 'Artskorps Webmix', 'djfonplaz', '0000-00-00 00:00:00');
INSERT INTO `categories` (`id`, `name`, `user`, `date`) VALUES(4, 'GTW Users Mixes', 'djfonplaz', '0000-00-00 00:00:00');
INSERT INTO `categories` (`id`, `name`, `user`, `date`) VALUES(5, 'Underground Music Tapes', 'djfonplaz', '0000-00-00 00:00:00');
INSERT INTO `categories` (`id`, `name`, `user`, `date`) VALUES(6, 'UK Main Events', 'djfonplaz', '0000-00-00 00:00:00');
INSERT INTO `categories` (`id`, `name`, `user`, `date`) VALUES(7, 'Gabba Nation, Bunker & Box, German Events', 'djfonplaz', '0000-00-00 00:00:00');

当我尝试导入它时(使用HeidiSql 6.0)我收到此错误:

/* SQL Error (1062): Duplicate entry '1' for key 1 */

3 个答案:

答案 0 :(得分:1)

categories必须存在且已存在数据。

在执行该脚本之前删除categories表。

答案 1 :(得分:1)

如果您在主键上设置auto_increment,请删除id语句中的INSERT

INSERT INTO `categories` (`name`, `user`, `date`) VALUES('K-Bal Sound System', 'djfonplaz', '0000-00-00 00:00:00');
...

答案 2 :(得分:0)

您正在为自动增量字段插入一个值。 MySQL会自动为您在该字段中插入一个值,因此您不必自己尝试设置该值。当它试图插入你的第一行时,它会尝试在自动增量的值1上输入1.

要修复,只需从插入中删除id列。