1

我正在对 WordPress 数据库进行一些更改。我需要将 wp-posts 表的 GUID 字段中的 URL 替换为来自另一个名为 ebdurls 的表的 URL。表的说明如下:

wp_posts:我需要的两个字段的字段类型是:

ID -> bigint(20) 无符号

guid -> varchar(255)

我有需要导出到 wp_posts 的数据的表是这样的:

ebdurls:

标题-> varchar(255)

网址 -> varchar(255)

ebdid -> bigint(20) 无符号

一切似乎都是正确的,但是当我应用下一个查询时,它给了我一个我真的无法得到的错误。我试过在任何地方引用字段、表格等,但没有运气。

mysql> 更新 wp_posts 设置 wp_posts.guid=ebdurls.url 其中 wp_posts.id=ebdurls.ebdid;

错误 1054 (42S22):“where 子句”中的未知列“ebdurls.ebdid”

错误在哪里?

4

2 回答 2

1

您尚未指定 ebdurls 是什么,请在查询中添加 from 语句:

UPDATE 
    wp_posts, ebdurls
SET 
    wp_posts.guid = ebdurls.url 
WHERE 
    wp_posts.id=ebdurls.ebdid;

编辑: 比尔是对的,现在已经修复了格式。哎呀。

于 2010-07-28T23:21:36.637 回答
0

ebdurls.*没有价值。这就是导致您的错误的原因。数据库不知道您要做什么。

您可能需要使用子查询或将此逻辑添加到您的应用程序中。

或类似的东西:

UPDATE wp_posts, ebdurls ...

于 2010-07-28T23:18:27.643 回答