我正在寻找从一个WordPress站点追加评论表到另一个。用户是不同的。当我将网站B的评论导入到A时,我遇到了重复密钥问题; comment_id已被采纳。解决在mysql导入重复的主键
那么我该如何解决这个问题,并附上一个简单的.sql文件的表?我是否需要获取用户信息,生成新用户,检查B站点上的注释,抽取内容和postID,然后返回站点A并为新创建的用户重新创建注释!?
真是头疼!谢谢。
我正在寻找从一个WordPress站点追加评论表到另一个。用户是不同的。当我将网站B的评论导入到A时,我遇到了重复密钥问题; comment_id已被采纳。解决在mysql导入重复的主键
那么我该如何解决这个问题,并附上一个简单的.sql文件的表?我是否需要获取用户信息,生成新用户,检查B站点上的注释,抽取内容和postID,然后返回站点A并为新创建的用户重新创建注释!?
真是头疼!谢谢。
如果你唯一的问题是重复的关键问题,去你的SQL文件结束后 ENGINE=MyISAM
并使其 ENGINE=MyISAM AutoIncrement=a nubmer above the last id in the new database
或最后一个ID
查询数据库中的再添加一个并在新插入查询中使用它。
例1:
CREATE TABLE IF NOT EXISTS `movies` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`year` int(4) NOT NULL,
`size` varchar(255) NOT NULL,
`added` date NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `title` (`title`,`year`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
的刀片从我的转储:
INSERT INTO `movies` (`title`, `year`, `size`, `added`) VALUES
('[REC] 2', 0, '716688', '2011-09-23'),
('5 Days of War', 0, '1435406', '2012-01-09'),
('[REC]', 0, '1353420800', '2011-11-06');
查看如何我不包括在我的包括PRIMARY KEY (id)
,但它仍然会核对我UNIQUE KEY
,看看标题存在。只是一个小小的演示,希望有所帮助。如果您的表已经存在于新数据库中,那么只需跳到插入内容并且不包含主键,并且它会在新插入时自动设置为下一个可用值。
因此,通过第一种方法,比如旧数据库以主键5结束,并且您说ENGINE = MyISAM AutoIncrement = 6,新数据库中的其余条目将以6,7,8等方式导入? – AlxVallejo 2012-03-08 15:52:09
正确的,当你设置自动增量,它从指定的数字开始,其中,如果你没有包含它,它会自动从1开始,并向前移动,那是什么原因导致你的错误,如果你想从转储更新。只是不包括在转储的插入primary_key,它应该像一个魅力。我将编辑并从我的一个数据库发布演示。 – rackemup420 2012-03-09 14:05:01