错误:#1062 - 键'PRIMARY'重复输入'1'

时间:2014-01-14 11:49:01

标签: mysql sql

我已经获得了一个数据库文件上传到我的服务器,但是在导入时收到以下错误消息。我已经搜索了其他类似的问题,但无法解决如何解决这个问题。

SQL查询:

--
-- Dumping data for table `wp_comments`
--   

INSERT INTO  `wp_comments` (  
     `comment_ID` ,  
     `comment_post_ID` ,
     `comment_author` ,
     `comment_author_email` ,
     `comment_author_url` ,
     `comment_author_IP` ,
     `comment_date` ,
     `comment_date_gmt` ,
     `comment_content` ,
     `comment_karma` ,
     `comment_approved` ,
     `comment_agent` ,
     `comment_type` ,
     `comment_parent` ,
     `user_id` 
    ) 
    VALUES 
    ( 
     1, 
     1,  
     'Mr WordPress',
     '', 
     'http://wordpress.org/',
     '', 
     '0000-00-00 00:00:00',
     '0000-00-00 00:00:00',
     'Hi, this is a comment.<br />To delete a comment, just log in and view the post&#039;s comments. There you will have the option to edit or delete them.',
     0,
     '1', 
     '', 
     '', 
     0,
     0 
    );
MySQL说:

  

#1062 - 键'PRIMARY'重复输入'1'

3 个答案:

答案 0 :(得分:1)

wp_comments表中的

comment_ID列设置为PRIMARY KEY,因此不允许将具有相同comment_ID值的多个记录插入到表中。

在您的情况下,您已经插入了值为“1”的记录,因此您必须手动删除该记录(或清空整个表),或者从其他comment_ID开始插入,或者只是省略comment_ID列和价值,很可能会自动填充。

将查询重新格式化为:

INSERT INTO wp_comments ( comment_ID, comment_post_ID , comment_author , comment_author_email , comment_author_url , comment_author_IP , comment_date , comment_date_gmt , comment_content , comment_karma , comment_approved , comment_agent , comment_type , comment_parent , user_id )
VALUES ( null, 1, 'Mr WordPress', '', 'http:////wordpress.org//', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00', "Hi, this is a comment. To delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.", 0, '1', '', '', 0, 0 ) ;

comment_ID的值为 null ,或

INSERT INTO wp_comments ( comment_post_ID , comment_author , comment_author_email , comment_author_url , comment_author_IP , comment_date , comment_date_gmt , comment_content , comment_karma , comment_approved , comment_agent , comment_type , comment_parent , user_id )
VALUES (1, 'Mr WordPress', '', 'http:////wordpress.org//', '', '0000-00-00 00:00:00', '0000-00-00 00:00:00', "Hi, this is a comment. To delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.", 0, '1', '', '', 0, 0 ) ;

完全省略comment_ID及其值。

在这两种情况下,MySQL都会自动分配下一个自动递增的值。

答案 1 :(得分:1)

您是否尝试迁移WordPress网站?

如果是这样,如果您执行了以下操作,将发生上述错误。

  1. 您备份了WordPress MySQL数据库
  2. 您设置了一个新的WordPress网站
  3. 然后,您尝试在此新恢复备份 设置WordPress网站
  4. 在第2步之后,您应该先删除新WordPress数据库中的所有表,然后在步骤3中将备份恢复到该表中。

    出现错误消息是因为您已尝试将MySQL转储(数据库文件)导入非空WordPress数据库。当您设置WordPress站点时,它会创建所需的表,并插入一些示例记录,例如注释。因此,您的数据库中已经有id == 1的注释,并且您的备份会尝试添加另一个ID == 1的注释(很可能是您网站上添加的第一个真实注释)。

答案 2 :(得分:-2)

您可能没有使用AUTO_INCREMENT主键。可以在这里找到一个例子:

http://dev.mysql.com/doc/refman/5.1/de/example-auto-increment.html

CREATE TABLE animals (
    id MEDIUMINT NOT NULL AUTO_INCREMENT,
    name CHAR(30) NOT NULL,
    PRIMARY KEY (id)
);