我已经获得了一个数据库文件上传到我的服务器,但是在导入时收到以下错误消息。我已经搜索了其他类似的问题,但无法解决如何解决这个问题。
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's comments. There you will have the option to edit or delete them.',
0,
'1',
'',
'',
0,
0
);
MySQL说:
#1062
- 键'PRIMARY'重复输入'1'
答案 0 :(得分:1)
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网站?
如果是这样,如果您执行了以下操作,将发生上述错误。
在第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)
);