我正在尋找從一個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