gpt4 book ai didi

MySQL 使用间接 where 语句更新多个表

转载 作者:行者123 更新时间:2023-11-29 07:37:10 25 4
gpt4 key购买 nike

为了给您提供背景信息,此问题存在于 WordPress 网站内,但与 WP 无关。

我本质上是在尝试更改绑定(bind)在一起的两个表中的值。

表 #1 是 wp_term_taxonomy (特此 TT )包含以下列:

term_taxonomy_id |术语 ID |分类 |描述 |父级

以下语句更新 TT.taxonomyTT.parent正确地。

UPDATE wp_term_taxonomy TT
SET
TT.taxonomy='industry',
TT.parent=0
WHERE TT.taxonomy='project_categories'
AND TT.parent=276;

这正在改变 taxonomy列为之前在特定父级下的任何内容设置新值。

我需要做的是更改与此表相关的另一个表。

它的名字是wp_icl_translations (特此 ICL ),并具有以下列:

翻译_id |元素类型 |元素 ID | ...

这些表之间有两个交集:

  • TT.term_id是与 ICL.element_id 的交集
  • TT.taxonomy是与 ICL.element_type 的交集,其中 ICL.element_type 的值前缀也为 tax_ .

我的期望是以下声明将更新:

  • TT.parent
  • TT.taxonomy
  • ICL.element_type

这是我尝试的 SQL 语句

UPDATE wp_term_taxonomy TT, wp_icl_translations ICL
SET
TT.taxonomy='industry',
TT.parent=0,
ICL.element_type = 'tax_industry'
WHERE TT.taxonomy='project_categories'
AND TT.parent=276
AND ICL.element_id=TT.term_taxonomy_id
AND ICL.element_type='tax_project_categories';

我都需要ICL.element_idICL.element_type在 where 语句中进行检查,因为可能有重复的 element_id不同的条目 element_type的。

最佳答案

我认为这会起作用。

UPDATE .wp_term_taxonomy TT
INNER JOIN .wp_icl_translations ICL ON ICL.element_id = TT.term_id
AND ICL.element_type='tax_project_categories'
SET
TT.taxonomy='industry',
TT.parent=0,
ICL.element_type = 'tax_industry'
WHERE TT.taxonomy='project_categories'
AND TT.parent=276

关于MySQL 使用间接 where 语句更新多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30357080/

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