2017-06-03 21 views
0

DrupalからWPへのポストをインポートしていますが、カテゴリとタグも持っています。スクリプトを実行するとカテゴリとタグはインポートされません。エラー:1062キー 'PRIMARY'の重複エントリ '234'

Query: 

INSERT INTO wordpress.wp_term_taxonomy (term_taxonomy_id, term_id, taxonomy, description, parent) 
SELECT DISTINCT 
    d.tid, d.tid 'term_id', 'post_tag', d.description 'description', 
    h.parent 'parent' 
FROM drupal.term_data d 
INNER JOIN drupal.term_hierarchy h USING(tid) 
INNER JOIN drupal.term_node n USING(tid) 
WHERE (1); 

Error: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '234' for key 'PRIMARY'

私は私のnode_termテーブルを落としたが、それは助けにはなりませんでした。

+1

https://stackoverflow.com/search?q=1062+Duplicate+entry –

+0

多分 'wp_term_taxonomy'テーブル内の一意性制約に違反しているように見えます。データとテーブル定義を確認してください。 –

+0

私は他の多くの質問をチェックしましたが、まだそれは得られません。私はデータベースとそのテーブルを再アップロードしようとしましたが、それは助けになりませんでした – Vidal

答えて

0

すでにテーブルに入っている値を挿入しているか、プライマリキーのクエリの値が「234」になっています。あなたが別のサブクエリを実行して、第二の条件を確認することができ

select pk, count(*) 
from (<your select here>) t 
group by pk 
having count(*) > 1; 

あなたはINSERT IGNOREON DUPLICATE KEY UPDATEとの両方の問題を修正することができます。私は後者を好む:

INSERT INTO wordpress.wp_term_taxonomy (term_taxonomy_id, term_id, taxonomy, description, parent) 
    SELECT DISTINCT d.tid, d.tid, 'post_tag', d.description,h.parent 
    FROM drupal.term_data d INNER JOIN 
     drupal.term_hierarchy h USING(tid) INNER JOIN 
     drupal.term_node n USING(tid) 
    WHERE (1) 
    ON DUPLICATE KEY UPDATE term_taxonomy_id = VALUES(term_taxonomy_id); 
+0

ありがとうございます<3 – Vidal

関連する問題