直接用 sql 進行資料表與資料表的更新?令我蛋疼的數據庫

发布于 2022-09-07 23:10:40 字数 1165 浏览 40 评论 0

出發點是文章 ID,假設為 123
我現在要透過 123 去找 wp_postmeta 資料表,找到符合的 post_id = 123 時,再從該筆符合 meta_key = _thumbnail_id and meta_value = 456
然後再用 456 這個 ID 去找 wp_posts 資料表的 ID,再將該筆 guid 值拿回去給文章 ID 123 去 UPDATE 剛帶回來的 guid

資料表 wp_postmeta

post_id / meta_key / meta_value
123 / _thumbnail_id / 456

資料表 wp_posts (我要的值)

ID / guid
456 / 我要的guid值

資料表 wp_posts (帶回去取代文章)

ID / guid
123 / 將「我要的guid值」丟到這

有點弔詭,繞成這樣
但我還真的不知道怎麼表對表更新
我要更新的是同一個資料表、同一個欄位,但是不同 ID
邏輯整個死了......

我大概寫成這樣

UPDATE wp_posts
SET posts.guid = posts.guid 
FROM wp_posts posts
INNER JOIN wp_postmeta meta
ON meta.meta_key = '_thumbnail_id'
WHERE meta.post_id = posts.ID

報錯 :

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM wp_posts posts
INNER JOIN wp_postmeta meta 
ON meta.meta_key = '_thumbnai' at line 3

PS這數據庫不是我寫的,我是要把數據庫轉到我這,要先篩選和整理數據

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花想c 2022-09-14 23:10:40
UPDATE `wp_posts` a, `wp_posts` b, `wp_postmeta` c
SET a.`guid` = b.`guid`
WHERE c.`post_id` = 123
    AND c.`meta_key`='_thumbnail_id'
    AND b.`id` = c.`meta_value`
    AND a.`id` = c.`post_id`;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文