gpt4 book ai didi

mysql - 在连接的 SQL 查询中编辑列

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

我在一个 wordpress 网站上工作,我需要更改所有附件图像的上传路径(我不知道为什么客户最初选择不组织它们。)

这就是我正在运行的选择我的附件,并获取父帖子的发布日期的内容,这样我就可以正确地只获取我想要的内容。

select a.id as child_post_id, a.guid as upload_path, b.post_date as parent_post_date
from wp_posts a
left outer join wp_posts b
on a.post_parent = b.id
where
a.post_type = 'attachment'
and b.post_date between '2015-11-17 00:00:00' and '2015-11-17 23:59:59'

它提取了我在那个范围内寻找的 8 个左右的图像附件作为测试,它们与父帖子的帖子 ID 配对,所以我知道我得到了我想要的。

现在我想替换guid列中的一部分值,所以我在“upload_path”的输出列中进行替换

update upload_path
set upload_path = replace(upload_path, 'wp-content/uploads/', 'wp-content/uploads/2015/11/')
;

这会导致语法错误,我觉得我在做一个奇怪的操作,所以很难找到答案。

我在深入 SQL 方面不是很有经验,但我正在努力学习。

我是否需要保存此查询然后对该保存的查询运行更新?

这可能是一个简单的修复方法,有人可以帮我解决问题吗 - 请指出正确的方向。

运行 mysql 5.1.73(我们必须运行生产服务器正在运行的)

最佳答案

事实证明,我试图在 select 语句中运行更新。这是不行的。

我必须运行一个更新语句,然后定义内部连接并将每个“where”声明为该命令中的一个限制器。使用“和”语法。

UPDATE wp_posts AS a
INNER JOIN wp_posts AS b ON a.post_parent = b.id
and a.post_type = 'attachment'
and b.post_date between '2015-11-17 00:00:00' and '2015-11-17 23:59:59'
set a.guid = replace(a.guid, 'wp-content/uploads/', 'wp-content/uploads/2015/11/')
limit 0,30
;

很棒的学习经历。感谢大家的关注。

关于mysql - 在连接的 SQL 查询中编辑列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37734424/

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