gpt4 book ai didi

mysql - 从 wp_usermeta 表更新 'meta_value' 分配同一个表的另一个 'meta_value' 的值

转载 作者:行者123 更新时间:2023-11-28 23:47:15 25 4
gpt4 key购买 nike

对于令人困惑和繁琐的问题,我深表歉意,但无论如何我需要执行以下操作:在“wp_usermeta”表中,我为所有用户提供字段 (meta_keys)“category”和“request_category”。现在我想用元值“request_category”覆盖“类别”的元值,其中“类别”具有特定值。

但是在执行 SQL 查询后,我在“类别”的“元值”字段中得到 NULL。这是我的代码:

UPDATE 
wp_usermeta
SET
wp_usermeta.meta_value =
(SELECT
umeta_tmp.meta_value
FROM
umeta_tmp
WHERE umeta_tmp.meta_key = 'request_category'
AND umeta_tmp.umeta_id = wp_usermeta.umeta_id)
WHERE wp_usermeta.meta_key = 'category'
AND wp_usermeta.meta_value = 'travel_agency'

表 'umeta_tmp' 是一个临时表,我在其中保存 'wp_usermeta' 表的数据(因为我无法修改我在 SELECT 部分中使用的同一个表)。

任何人都可以提示我如何实现这一点。谢谢。

最佳答案

通过 JOIN 转换为 UPDATE

UPDATE wp_usermeta
JOIN umeta_tmp ON umeta_tmp.meta_key = 'request_category'
AND umeta_tmp.umeta_id = wp_usermeta.umeta_id
SET wp_usermeta.meta_value = umeta_tmp.meta_value
WHERE wp_usermeta.meta_key = 'category' AND
wp_usermeta.meta_value = 'travel_agency'`

如果umeta_tmp表只是 wp_usermeta 的副本然后表 JOINWHERE条件是矛盾的,因为你想要 meta_key同一行的字段(由 id 均衡)为 'request_category'umeta_tmp表并同时成为'category'wp_usermeta .考虑到这一点并移动 WHERE条件进入JOIN结果如下:

UPDATE wp_usermeta
JOIN umeta_tmp ON wp_usermeta.meta_key = 'category' AND
wp_usermeta.meta_value = 'travel_agency' AND
umeta_tmp.umeta_id = wp_usermeta.umeta_id
SET wp_usermeta.meta_value = umeta_tmp.meta_value

关于mysql - 从 wp_usermeta 表更新 'meta_value' 分配同一个表的另一个 'meta_value' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33398470/

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