MySQL:错误 1054 (42S22): 'where clause' 中的未知列

标签 mysql sql sql-update mysql-error-1054

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

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

ID -> bigint(20) 未签名

guid -> varchar(255)

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

ebdurls:

title -> varchar(255)

url -> varchar(255)

ebdid -> bigint(20) 未签名

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

mysql> 更新 wp_posts set wp_posts.guid=ebdurls.url where wp_posts.id=ebdurls.ebdid;

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

错在哪里?

最佳答案

您还没有指定 ebdurls 是什么,在您的查询中添加一个 from 语句:

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

编辑: 比尔是对的,现在已经确定了格式。糟糕。

关于MySQL:错误 1054 (42S22): 'where clause' 中的未知列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3358290/

相关文章:

mysql - 如何在 phpmyadmin 中获取表结构作为 SQL 查询

mysql - 如何通过用户名相关的主用户名获取所有值

mysql - 按月在表中显示结果

sql - 如何获得删除的行数?

mysql - 插入 SQL 数据库或更新特定值(如果已存在)

mysql - 如何在MySql中获取有时间限制的数据

mysql - 使用内连接和动态更新进行选择

mysql:当字段更新时如何自动更新时间戳

sql-server - MS Sql Server 性能 UPDATing 单列与所有​​列

mysql - 如何解决 'where clause' 许多子句中的未知列