我正在将Drupal中的帖子导入到WP,并且我也希望在运行脚本时也具有类别和标签,它导入所有内容,但不导入类别和标签,并且出现此错误:
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);
错误:SQLSTATE [23000]:违反完整性约束:1062键“ PRIMARY”的条目“ 234”重复
我删除了node_term表,但没有帮助。
最佳答案
您显然要插入表中已经存在的值,或者您的查询的主键两次具有“ 234”值。
您可以通过执行单独的子查询来检查第二个条件:
select pk, count(*)
from (<your select here>) t
group by pk
having count(*) > 1;
您可以使用
INSERT IGNORE
或ON 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);
关于mysql - 1062键“PRIMARY”的条目“234”重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44343161/