gpt4 book ai didi

mysql - 更新多个表中的值时复制记录

转载 作者:行者123 更新时间:2023-11-29 22:32:38 25 4
gpt4 key购买 nike

我正在迁移 WordPress 数据库中的一些数据,但卡在了最后一部分。

我有三个表,一个是官方 WordPress 表,两个是临时表。这是它们的结构:

wp_term_relationships: object_id, term_taxonomy_id, term_order

old_terms: term_id, slug

new_terms: term_id, slug

old_terms 和 new_terms 表之间的段匹配。我需要检查 wp_term_relationships 并使用以下规则创建新记录:

  1. 只要 term_taxonomy_id (wp_term_relationships) 与 term_id (old_terms) 匹配
  2. 创建新记录 地点
    • object_id = wp_term_relationships.object_id
    • term_taxonomy_id = new_terms.term_id,其中 new_terms.slug = old_terms.slug
    • term_order = wp_term_relationships.term_order

我尝试了几十种不同的 sql 调用,但似乎无法弄清楚这个。这是我最后一次尝试

INSERT INTO wp_term_relationships ( object_id, term_taxonomy_id, term_order )
SELECT object_id, new_terms.term_id, term_order
WHERE term_id = old_terms.term_id ON new_terms.slug = old_terms.slug

我已经这样做了一段时间,但没有取得任何进展。有什么想法吗?

最佳答案

好吧,经过一番努力,我终于能够使用以下代码使其工作。

INSERT INTO wp_term_relationships ( object_id, term_taxonomy_id, term_order )
SELECT c.object_id, a.tax_term_id, c.term_order
FROM new_terms AS a
LEFT JOIN old_terms AS b ON a.slug = b.slug
LEFT JOIN wp_term_relationships AS c ON b.term_id = c.term_taxonomy_id
WHERE term_taxonomy_id IN ( SELECT term_id FROM old_terms )

如果有人遇到类似的情况,请随时与我们联系。我觉得我比以前更好地掌握了现在正在发生的事情的机制。

关于mysql - 更新多个表中的值时复制记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29680529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com