MySQL:错误1054(42S22):未知列位于';其中第'条;

MySQL:错误1054(42S22):未知列位于';其中第'条;,mysql,sql,sql-update,mysql-error-1054,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)未签名 一切似乎都是正确的,但当我应用下一个

我正在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,其中wp_posts.id=ebdurls.ebdid

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


错误在哪里?

ebdurls.
没有值。这就是造成你的错误的原因。数据库不知道您要做什么

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

或者类似于:


updatewp\u posts,ebdurls…
ebdurls.
没有值。这就是造成你的错误的原因。数据库不知道您要做什么

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

或者类似于:


更新wp\u posts,ebdurls…

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

UPDATE 
    wp_posts, ebdurls
SET 
    wp_posts.guid = ebdurls.url 
WHERE 
    wp_posts.id=ebdurls.ebdid;
编辑:
比尔是对的,我们现在已经修正了格式。哎呀。

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

UPDATE 
    wp_posts, ebdurls
SET 
    wp_posts.guid = ebdurls.url 
WHERE 
    wp_posts.id=ebdurls.ebdid;
编辑:
比尔是对的,我们现在已经修正了格式。哦。

这是用于多表更新的Microsoft SQL Server语法。MySQL对条款的排序不同。非常感谢,这就是答案!这是用于多表更新的Microsoft SQL Server语法。MySQL对条款的排序不同。非常感谢,这就是答案!